2012-11-17 179 views
-6
namespace Exer3 
{ 
    public partial class MyCalculator : Form 
    { 
     public MyCalculator() 
     { 
      InitializeComponent(); 
     } 

     private void btnAdd_Click(object sender, EventArgs e) 
     { 

      int num1 = Convert.ToInt32(txtNum1.Text); 
      int num2 = Convert.ToInt32(txtNum2.Text); 

      if (txtNum1.Text.Length == 0 & txtNum2.Text.Length == 0) 
      { 
       MessageBox.Show("No Input Detected"); 
       txtNum1.Focus(); 
       txtNum2.Focus(); 
      } 
      else 

      lblTotal.Text = (num1 + num2).ToString(); 



     } 

     } 
    } 

當我運行該程序,它計算得很好..但是當我試圖離開文本框爲空,然後單擊添加按鈕時,消息框將出現「未檢測到輸入」後程序將開始調試,並顯示「輸入字符串格式不正確」。請幫忙解決這個問題輸入字符串格式不正確

+0

任何問題嗎?此外,請確保你輸入的數字文本框 –

+0

這將有助於很多,如果你想多一些問題的描述。標題是什麼,當你試圖編譯它,或者運行它,或者究竟是什麼? –

+1

你的問題是什麼? – mipe34

回答

0

THR這裏的問題是,要轉換,你不知道它是否包含一個有效的數字或不文本框,試試這個

if (txtNum1.Text.Length == 0 && txtNum2.Text.Length == 0) 
{ 
    MessageBox.Show("No Input Detected"); 
    txtNum1.Focus(); 
    txtNum2.Focus(); 
} 
else 
{ 
    int num1 = Convert.ToInt32(txtNum1.Text); 
    int num2 = Convert.ToInt32(txtNum2.Text); 
    lblTotal.Text = (num1 + num2).ToString(); 
} 
+1

非常感謝你解決我的問題.. :) –

+0

你很受歡迎。 –

2

改變這些線爲

int num1 = Convert.ToInt32("0"+txtNum1.Text); 
int num2 = Convert.ToInt32("0"+txtNum2.Text); 

或使用int.TryParse