在Windows Application中
窗口中创建多个textbox控件,
怎样可以用循环方法来取所有textBox中的值然后做比较
显示最大的textBox控件中的值?

解决方案 »

  1.   

    比如: foreach (Controls controls1 as  form1.Controls)
                if(controls1==....
      

  2.   

      foreach (Control ctl in this.Controls)
                {
                    ArrayList list = new ArrayList();
                    if (ctl.GetType() == typeof(System.Windows.Forms.TextBox))
                    {
                       list.Add(ctl.Text);
                    }
                    int max =0;
                    if (list.Count != 0)
                    {
                        try
                        {
                            max = (int)list[0];
                        }
                        catch (Exception ee)
                        {
                            MessageBox.Show("Error!");
                        }
                    }
                    for (int i = 0; i < list.Count; i++)
                    {
                       try
                       {
                           if(max<(int)list[i])
                           {
                               max = (int)list[i];
                           }
                       }
                        catch(Exception eee)
                       {
                            MessageBox.Show("Error!");
                       }
                   }           
            }
      

  3.   

    这段代码是循环赋值,你可以改成取值的foreach (system.windows.forms.control control in this.controls)
    {
    if (control is system.windows.forms.textbox)
    {
    system.windows.forms.textbox tb = (system.windows.forms.textbox)control ; 
    tb.text = string.empty ;
    }
    }
      

  4.   


                int value = int.MinValue; 
                foreach (Control ctrl in this.Controls)
                {
                    if (ctrl.GetType() == typeof(TextBox))
                    {
                        int i = int.Parse((ctrl as TextBox).Text);
                        value = i > value ? i : value;
                    }
                }
                MessageBox.Show(value.ToString());
      

  5.   

    如果值是string 就用string.Compare()比较
      

  6.   

    1、首先遍历窗体所有是TextBox的控件,并将TextBox的值获取出来存入数组当中.ArrayList array = new ArrayList();
    for (int i = 0; i < Controls.Count; i++)
    {
        if (Controls[i] is TextBox)
        {
            array.Add( (Controls[i] as TextBox).Text.Trim());
        }
    }2、然后在ArrayList中存有你想要的值,你在写一个冒泡的方法返回最大值就行.
      

  7.   

    [Quote=引用 11 楼 iamltlb 的回复:]
    6楼的好
    [/Quot并没有说,一定是个数值型的吧。
      

  8.   

     int  intmax=0;
    foreach (Control ctl in this.Controls) 
    {
    }
    判断控件类型,是textbox 取值,实现最大值比较
      

  9.   

    个人觉得这个简洁,只要你的所有textbox里的值都是一个类型的就可以了。
      

  10.   

    很多种方法可以实现的,javascript或者其它方式都可以,
      

  11.   

    foreach (Control ctl in this.Controls)