2012-11-17 7 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

관련 문제