2017-10-05 109 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

這是正確的 –