根据要更改的其他字段更新字段

时间:2017-03-31 15:04:15

标签: c# winforms c#-4.0

如果我有多个字段包含货币值和总字段,那么在更改任何值时如何保持总数最新?

我知道我可以对单个控件使用ActiveChangedChanged之类的事件,但是如果你有很多字段并且创建了许多对我来说效率低下的相同方法,这会变得很费力。

我知道我也可以使用按钮,但这需要用户提供更多输入。我希望它有点自动化,以便在输入值时观察总数,或至少在切换到下一个字段时观察到。

目前,这将是很多代码,如下所示。

private void field1_Changed(object sender, System.EventArgs e)
        {
            calculate();
        }

private void field2_Changed(object sender, System.EventArgs e)
        {
            calculate();
        }

1 个答案:

答案 0 :(得分:0)

如果需要执行完全相同的代码,那么您只能创建一个事件处理程序并将它们指向同一个事件处理程序

转到form.designer.cs并更改事件处理程序。对于非常基本的示例,2个文本框指向相同的事件处理程序

this.textBox1.TextChanged += new System.EventHandler(this.ValueChanged);

this.textBox2.TextChanged += new System.EventHandler(this.ValueChanged);

在form.cs

private void ValueChanged(object sender, EventArgs e)
{
            this.label1.Text = (int.Parse(this.textBox2.Text) 
                               + int.Parse(this.textBox1.Text))
                               .ToString();
 }