MCo*_*yle 3 c# math textchanged
我是使用C#和Visual Studio的新手,我遇到了问题.
我正在尝试使用TextChanged事件计算三个不同乘法的总值,因此每次我在用于乘法的文本框中输入数字时,总文本框都会更新.
textbox4中的总结果始终为0.我在这里做错了什么?
这是我的代码
public double multip_result1;
public double multip_result2;
public double multip_result3;
public void textbox1_TextChanged(object sender, EventArgs e)
{
double a, b, multip_result1;
a = Double.Parse(textbox1.Text);
b = 4.50;
multip_result1 = a * b;
total();
}
public void textbox2_TextChanged(object sender, EventArgs e)
{
double d, f, multip_result2;
d = double.Parse(textbox2.Text);
f = 6.50;
multip_result2 = d * f;
total();
}
public void textbox3_TextChanged(object sender, EventArgs e)
{
double h, j, multip_result3;
h = double.Parse(textbox3.Text);
j = 8.50;
multip_result3 = h * j;
total();
}
public void total()
{
double total_sum;
total_sum = multip_result1 + multip_result2 + multip_result3;
textbox4.Text = total_sum.ToString();
}
Run Code Online (Sandbox Code Playgroud)
你有局部变量multip_result1,multip_result2,multip_result3其中隐藏具有相同名称的字段,距离事件处理程序删除它们.所以这个:
double a, b, multip_result1;
Run Code Online (Sandbox Code Playgroud)
变
double a, b;
Run Code Online (Sandbox Code Playgroud)
否则,您将计算值分配给此局部变量,该字段保持为0.
如果要分配给具有相同名称的字段,也可以使用this.fieldName.但我强烈建议不要使用相同的名称来避免这样的问题.