繁体   English   中英

Windows窗体计算C#

[英]Windows Form Calculations C#

我正在使用C#开发Windows Tax Application。 我拥有的一种形式包含多个文本框(十进制和整数)以及这些文本框值的总计。

例如:我有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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM