Windows 表格计算 C#

Windows Form Calculations C#

我正在使用 C# 处理 Windows 税务申请。我拥有的其中一种表格包含多个文本框(小数和整数)以及这些文本框值的总计。

例如:我有 Txt1、Txt 2 和 Tx 3 以及 TxtTotal

我希望能够进行现场计算,例如只要用户修改了 Txt 1 的值,Txttotal 上就会显示总计更新的金额,而无需单击任何按钮。我怎样才能做到这一点?

使表单的每个输入文本框都使用相同的 TextChanged 事件,并将 TxtTotal

的 ReadOnly 属性 设置为 True
 // Here just to clarify, you could use 
 // the Form designer to register this event handler
 Txt1.TextChanged += onChanged;
 Txt2.TextChanged += onChanged;
 Txt3.TextChanged += onChanged;
 TxtTotal.ReadOnly = true;

现在将 TextChanged 事件处理程序编写成这样

 private void onChanged(object sender, EventArgs e)
 {
     int t1;
     int t2;
     int t3;

     Int32.TryParse(Txt1.Text, out t1);
     Int32.TryParse(Txt2.Text, out t2);
     Int32.TryParse(Txt3.Text, out t3);

     txtTotal.Text = (t1+t2+t3).ToString();
 }  

此代码假定每个文本框都包含一个整数,并且不关心文本框是空的还是包含无法转换为整数的文本。在这种情况下,转换变量的值将为零并且不会更改结果。

如果您想发出错误消息,将需要更多代码。如果你有小数,那么使用适当的小数变量和 decimal.TryParse 而不是 Int32.TryParse