0

を挿入しようとしていtextbox1 + textbox2 = textbox3ます。selectAll();そして、テキストボックスに入る間、すべてのテキストボックスがに設定されます。したがって、textbox1すべてのテキストを入力すると選択モードになり、バックスペースをクリックするとすべてのデータが削除され、次のようなエラーが発生します

入力文字列の形式が正しくありませんでした

私のコードは

textBox3.Text = (int.Parse(textBox1.Text) + int.Parse(textBox2.Text)).ToString();`

のようにしてみました

       if (textBox1.Text != "")
        {
            textBox3.Text = (int.Parse(textBox1.Text) + int.Parse(textBox2.Text)).ToString();
        }

この場合、バックスペースをクリックしてもテキストボックス 3 の値が変化しません。テキストボックスがnullになることを意味します。そのため、thired テキストボックスで値が変更されていません。私を助けてください。どうすればこの問題を克服できますか?

4

2 に答える 2

1

textBox1.Text入力 (およびtextBox2.Text) が整数であると想定しています。

そうでない場合int.Parseは失敗し、表示されているエラーが表示されます。

使用する必要がありますint.TryParse

int result1 = 0:
int.TryParse(textBox1.Text, out result1);
int result2 = 0:
int.TryParse(textBox2.Text, out result2);

textBox3.Text = (result1 + result2).ToString():
于 2012-12-12T12:56:37.500 に答える
0

Int は null 許容項目ではありません。(バック スペースの後) null 値を解析しようとしているため、エラーが発生しています。

代わりに使用 int.TryParase(value_to_parse ,out where to store results int) TryParse は、解析が成功した場合にブール値を状態に返します。

于 2012-12-12T12:54:53.167 に答える