Windows窗体计算C#

Ree*_*eed 1 c# windows decimal

我正在使用C#处理Windows Tax Application.我有一种形式包含多个文本框(十进制和整数)和这些文本框值的总和.

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

我希望能够进行现场计算,例如,一旦用户修改了Txt 1的值,总计应该在Txttotal上显示更新量,而不点击任何按钮.我怎样才能做到这一点?

Ste*_*eve 6

使表单的每个输入文本框使用相同的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;
Run Code Online (Sandbox Code Playgroud)

现在将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();
 }  
Run Code Online (Sandbox Code Playgroud)

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

如果要发出错误消息,则需要更多代码.如果你有小数,那么使用适当的十进制变量而decimal.TryParse不是Int32.TryParse