我有两个不同的surfacetextbox,它们包含数值。我想添加这两个值,并在第二个框中的值更改时在第三个surfacetextbox中显示结果。当我运行解决方案时,调试器显示我没有创建tip和amount变量。此外,流到达catch块,其中“NullReferenceException由用户代码未处理” - 对象引用未设置为对象的实例。
我试图捕获的例外情况是文本框可以保存非数字值或格式不正确的数字(我已经在textbox2上验证为str == System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator但它看起来它可以有多个分隔符的值)。
private void surfaceTextBox2_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if ((this.surfaceTextBox2.Text.Length != 0) && (this.surfaceTextBox3.Text.Length != 0))
{
Double tip = Double.Parse(this.surfaceTextBox2.Text);
Double amount = Double.Parse(this.surfaceTextBox3.Text);
this.surfaceTextBox1.Text = String.Format("{0:00.0}", tip + amount);
}
}
catch (Exception exc)
{
this.surfaceTextBox1.Text = this.surfaceTextBox3.Text;
}
}