-7
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();



        }

        }
    }

プログラムを実行するとうまく計算されます..しかし、テキストボックスを空のままにして追加ボタンをクリックしようとすると、「入力が検出されませんでした」というメッセージボックスが表示され、その後プログラムはデバッグを開始し、「入力文字列がありませんでした」と表示されます正しい形式で」。この問題を解決するのを手伝ってください

4

2 に答える 2

2

これらの行を次のように変更します

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

または使用int.TryParse

于 2012-11-17T16:40:48.060 に答える
0

ここでの問題は、有効な数値が含まれているかどうかわからないテキストボックスを変換していることです。これを試してください

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();
}
于 2012-11-17T16:39:33.860 に答える