在一个Form窗体中有十个TextBox控件,要求是不能为空,而且必须是数字!【注意不是ASP.NET】

解决方案 »

  1.   

    写一个方法 ,
    在 每一个TextBox的失去焦点事件里调用。 
    或者
    比如在某一个按钮单击时验证的话,在这个按钮的
    单击事件里调用。如
    private void mycheck()
    {
     for(int i=0;i<this.Controls.Count;i++) 
     {
       if(Controls[i].GetType().ToString=="System.Windows.Forms.TextBox")
       {
          if(((TextBox)Controls[i]).Text ==null ||((TextBox)Controls[i]).Text==String.Empty)
          {
             MessageBox.Show("输入内容 ") 
            ((TextBox)Controls[i]).Focus();
          }
          try
          {
             int data = Convert.ToInt(((TextBox)Controls[i]).Text);
          }
          catch(Exception ee)
          {
             MessageBox.Show("输入数值 ") ;
              ((TextBox)Controls[i]).Text="";
              ((TextBox)Controls[i]).Focus();
          }  
       }
     }
    }
      

  2.   

            private void button1_Click(object sender, EventArgs e)
            {
                string texts = null;
                foreach (object var in this.Controls)
                {
                    if (var is TextBox)
                    {
                        texts = ((TextBox)(var)).Text;
                        System.Text.RegularExpressions.Regex MyExpression =
                      new System.Text.RegularExpressions.Regex("^[0-9]+$");
                        if (!MyExpression.IsMatch(texts))
                        {
                            MessageBox.Show("格式不正确");
                        }
                    }
                }
         }