我正在尝试插入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。这就是为什么价值不会在所发送的文本框中发生变化的原因。请帮我。我怎么能解决这个问题?
答案 0 :(得分: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():
答案 1 :(得分:0)
Int不是可以为空的项目 - 并且因为你要分析一个空值(在你的后退空格之后),它就会出现错误。
使用而不是int.TryParase(value_to_parse,out存储结果Int的位置) 如果解析是成功的话,TryParse会返回一个布尔状态 此致