将两个文本框值添加到第三个C#时出错

时间:2012-12-12 12:48:41

标签: c# textbox

我正在尝试插入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。这就是为什么价值不会在所发送的文本框中发生变化的原因。请帮我。我怎么能解决这个问题?

2 个答案:

答案 0 :(得分: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():

答案 1 :(得分:0)

Int不是可以为空的项目 - 并且因为你要分析一个空值(在你的后退空格之后),它就会出现错误。

使用而不是int.TryParase(value_to_parse,out存储结果Int的位置) 如果解析是成功的话,TryParse会返回一个布尔状态 此致