2017-10-05 67 views
2

嗨,我在网上搜索了该代码验证每一个文本框,为每一个文本框为int在C#中

 con.Open(); 
     int parsedValue; 
     if (!int.TryParse(txtCCL.Text, out parsedValue))// if not an integer return message below 
     { 
      MessageBox.Show("This is a number only field"); 
      return; 
     } 
     else 
     { 
     } 

像txtCCL.Text我如何调用检查多个文本框状

 con.Open(); 
     int parsedValue; 
     if (!int.TryParse(txtCCL.Text||txtA.text||txtB.text, out parsedValue)) 
     { 
      MessageBox.Show("This is a number only field"); 
      return; 
     } 
     else 
     { 
     } 

在此先感谢

回答

1

您必须迭代所有文本框。

TryParse不能将多个文本框作为输入。

//LOOP ALL CONTROLS AND FIND TEXT BOXES 
    foreach (TextBox txtBox in this.Controls.OfType<TextBox>()) 
    { 
     int number; 

     bool result = Int32.TryParse(txtBox.Text, out number); 

     if (result) 
     { 
      //PRINT TEXT BOX NAME WHICH CAN BE CONVERTIBLE 
      MessageBox.Show(txtBox.Name + " is a number only field"); 
     } 
    } 
+0

嗨,我尝试这个代码,我试图与其他状态下运行它,但它还是到别的条件... – user8719124

+0

你的文本框是否有值。我的意思是,他们有任何文本框中的数字 – Naidu

+0

是的,他们有值,但我想验证,如果该值不是一个整数,如果不是它会去其他条件(这是正常的功能) – user8719124

0

可以使用的TryParse方法与条件,如果有多个检查

int v1; 
    if (int.TryParse(txtCCL.Text, out v1) && int.TryParse(txt2.Text,out v1) && int.TryParse(txt3.Text,out v1)) 
    { 
      //is integer 
    } 
+0

你的答案也可以,但我只能把一个正确的答案对不起 – user8719124

+0

是的另一个答案验证所有文本框,但在一个循环中,我发现更高效 – user8719124

+0

这是正确的 –