gpt4 book ai didi

vb.net - 如何将表单上的所有文本框控件与相同的事件处理程序相关联

转载 作者:行者123 更新时间:2023-12-04 05:44:59 26 4
gpt4 key购买 nike

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

非常感谢! SO很棒。

最佳答案

在表单的加载事件中执行类似的操作(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
}

它不是正确递归的(例如,它不会在面板上找到文本框),但是您明白了。

关于vb.net - 如何将表单上的所有文本框控件与相同的事件处理程序相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/179742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com