结果将不会进入我的“结果”文本框,并且当我在数字1中输入任何内容时,它立即提示我“数字2无效”捕获。我很新,不明白为什么它不起作用。
namespace ShippingCalculator_BradleyH
{
public partial class Form1: Form
{
double total;
public Form1()
{
InitializeComponent();
}
private void Calculate_Click(object sender, EventArgs e)
{
}
private void Number1_TextChanged(object sender, EventArgs e)
{
//assigning variables
double num1;
double num2;
double result;
//making sure numbers 1 and 2 are numbers.
if (double.TryParse(Number1.Text, out num1))
{
if (double.TryParse(Number2.Text, out num2))
{
result = num1 * num2;
Result.Text = result.ToString();
}
else
{
MessageBox.Show("Number 2 is invalid.");
}
}
else
{
MessageBox.Show("Number 1 is invalid.");
}
}
}
}
答案 0 :(得分:1)
我假设两个文本框最初都是空的。在Number1
中输入内容后,此代码将运行,并且Number2
将为空。空字符串是无效的double
,因此TryParse
将返回false
。
这是我的建议:
UpdateResult
或类似名称。Number1_TextChanged
和Number2_TextChanged
都调用此函数UpdateResult
中,应用以下逻辑:
Number1.Text
或Number2.Text
是空字符串,则将Result.Text
设置为空字符串。