vb.net – 如何将表单上的所有文本框控件与相同的事件处理程序相
发布时间:2020-12-17 00:17:35 所属栏目:大数据 来源:网络整理
导读:VB 2008. 我在表单上有几个文本框,我希望每个文本框都使用相同的事件处理程序.我知道如何手动将每一个连接到处理程序,但我正在寻找一种更通用的方式,所以如果我添加更多文本框,它们将自动连接到事件处理程序. 想法? 编辑:使用MusiGenesis的C#样本(以及在ni
VB 2008.
我在表单上有几个文本框,我希望每个文本框都使用相同的事件处理程序.我知道如何手动将每一个连接到处理程序,但我正在寻找一种更通用的方式,所以如果我添加更多文本框,它们将自动连接到事件处理程序. 想法? 编辑:使用MusiGenesis的C#样本(以及在nick留下的评论的帮助下),我写了这个VB代码: Private Sub AssociateTextboxEventHandler() For Each c As Control In Me.Controls If TypeOf c Is TextBox Then AddHandler c.TextChanged,AddressOf tb_TextChanged End If Next End Sub 非常感谢!太棒了.
在表单的加载事件中执行类似的操作(C#,抱歉,但很容易翻译):
private void Form1_Load(object sender,EventArgs e) { foreach (Control ctrl in this.Controls) { if (ctrl is TextBox) { TextBox tb = (TextBox)ctrl; tb.TextChanged += new EventHandler(tb_TextChanged); } } } void tb_TextChanged(object sender,EventArgs e) { TextBox tb = (TextBox)sender; tb.Tag = "CHANGED"; // or whatever } 它没有正确的递归(例如,它不会在面板上找到文本框),但是你明白了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |