有没有办法观看多个文本框以查看文本是否更改?

时间:2012-03-18 15:48:17

标签: vb.net

我有大约15个文本框,而不是每个文本框上的事件处理程序,并在更改时启用按钮。

例如:

    Private Sub txtIsbnUpc_TextChanged(ByVal sender As System.Object, _
                                       ByVal e As System.EventArgs) _
        Handles txtIsbnUpc.TextChanged

        cmdSearchresults.enabled = true
    End Sub

而不是通过每一个并输入更简单的方法?

4 个答案:

答案 0 :(得分:3)

为什么不扩展Handles列表并在一个处理程序中处理所有textBoxes事件?

Private Sub txtIsbnUpc_TextChanged(ByVal sender As Object, ByVal e As EventArgs) _
    Handles txtIsbnUpc.TextChanged, txt2.TextChanaged, txt3.TextChanged

如果您的逻辑需要,可以使用sender来检查哪个textBox触发了该处理程序。

答案 1 :(得分:1)

.NET的优点之一是能够将同一个事件处理程序连接到多个控件 您可以将相同的处理程序分配给所有15个文本框的TextChanged事件 所以不需要用相同的代码编写15个事件处理程序。

答案 2 :(得分:0)

是的,在事件签名的“句柄”部分列出您的其他文本框:

Private Sub txtIsbnUpc_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtIsbnUpc.TextChanged, Handles txt2.TextChanged,Handles txt3.TextChanged, etc....

sender.enabled = true

End Sub

答案 3 :(得分:0)

您甚至可以为每个文本框使用addhandler,并将其引导到您创建的其他函数,并使用文本框的文本更改参数....