许多文本框的onTextChanged事件c#

时间:2010-05-29 08:12:34

标签: c# events visual-studio-2005 textbox

我目前正在为新系统屏幕构建原型,我正在使用c#来构建它。

我的问题是,我目前有14个文本框,这些文本框是根据屏幕上其他几个控件的条件填充的。这14个文本框全部加起来显示在另一个文本框中。

因为这些文本框是可编辑的(如果客户端希望增加值)(不能详细说明但是它们会)我需要有一个可用的ontextchange事件,当值发生变化时总框更新。 / p>

但是我觉得必须有一种方法可以不必创建14个不同的事件,是否有一种方法可以让1个事件在14个文本框被触发时触发?

感谢

艾伦

2 个答案:

答案 0 :(得分:3)

是的,您可以创建单个事件 - 然后将所有文本框订阅到您的类中的相同事件处理程序,这会引发该单个事件。

如果客户需要知道哪个文本框已更改,您需要考虑如何与他们进行最佳沟通 - 您可能想要创建自己的{{1}子类}}。否则,只需一个简单的EventArgsEventHandler即可。

答案 1 :(得分:0)

是的,假设您的文本框名为textBox1,textBox2,...如果您为textBox1的事件“TextChanged”自动创建了方法“textBox1_TextChanged”,则可以轻松地将此方法用于所有其他文本框。

例如在Designer中,只需选择“textBox2”组件,转到“属性”窗口中的“事件”选项卡,而不是通过双击“TextChanged”值旁边的可编辑字段创建新事件,只需使用下拉列表菜单选择之前创建的“textBox1_TextChanged”方法(自动)。

如果您需要决定哪个textBox引发了该事件,您可以使用该方法的“sender”参数。