2012-03-18 46 views
0

我有大约15文本框和而不是去到事件处理程序上的每一个能够在变化的按钮..有没有办法看多个文本框来查看文本是否改变?

例如:

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

     cmdSearchresults.enabled = true 
    End Sub 

而不是通过每一个打字会那有一种更简单的方法吗?

回答

3

为什么不扩展Handles列表并处理一个处理程序中的所有文本框事件?

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

您可以使用sender检查哪些textBox中发射了处理程序,如果它需要你的逻辑。

+0

你先生是真棒... THANKs :) – user867621 2012-03-18 15:56:05

+2

+1也可以在设计器中完成。属性窗口,事件视图。它会为您更改句柄子句。 – MarkJ 2012-03-18 16:44:56

1

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

+0

非常感谢你:) – user867621 2012-03-18 15:56:13

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 
0

你甚至可以用AddHandler的每一个文本框,并导致通过你的说法文本创建的其他功能文本框的变化....

相关问题