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

在这种情况下,当我单击退格键时,文本框三中的值没有改变。意味着文本框将为空。这就是为什么价值在第三个文本框中没有改变的原因。请帮我。我怎么能克服这个问题?

4

2 回答 2

1

您假设您的输入 (textBox1.TexttextBox2.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 不是可以为空的项目-并且由于您想要解析一个空值(在您的退格之后),因此它会导致错误。

改用 int.TryParase(value_to_parse ,out where to store 结果 Int) TryParse 返回一个布尔值来说明解析是否成功 问候

于 2012-12-12T12:54:53.167 回答