Ree*_*sey 51
您可以使用AddHandler为任何事件添加处理程序.
例如,这可能是:
AddHandler theButton.Click, AddressOf Me.theButton_Click
Run Code Online (Sandbox Code Playgroud)
Jas*_*n S 12
只是为了完善Reed的答案,您可以Button从Form其他容器中获取对象并添加处理程序,也可以以Button编程方式创建对象.
如果Button从Form其他容器中获取对象,则可以迭代或其他容器控件的Controls集合Form,例如Panel或FlowLayoutPanel等等.然后你可以添加点击处理程序
AddHandler ctrl.Click, AddressOf Me.Button_Click(变量如下面的代码),
但我更喜欢检查Control和转换为a 的类型,Button因为我没有为容器中的任何其他控件添加点击处理程序(例如标签).请记住,您可以Button使用此处为任何事件添加处理程序AddHandler.
或者,您可以以Button编程方式创建对象,如下面的第二个代码块.
当然,你必须编写处理程序方法,如下面的第三个代码块.
下面是一个使用Form容器的示例,但您可能最好使用一个Panel或其他容器控件.
Dim btn as Button = Nothing
For Each ctrl As Control in myForm.Controls
If TypeOf ctrl Is Button Then
btn = DirectCast(ctrl, Button)
AddHandler btn.Click, AddressOf Me.Button_Click ' From answer by Reed.
End If
Next
Run Code Online (Sandbox Code Playgroud)
或者以Button编程方式创建s,这次添加到Panel容器.
Dim Panel1 As new Panel()
For i As Integer = 1 to 100
btn = New Button()
' Set Button properties or call a method to do so.
Panel1.Controls.Add(btn) ' Add Button to the container.
AddHandler btn.Click, AddressOf Me.Button_Click ' Again from the answer by Reed.
Next
Run Code Online (Sandbox Code Playgroud)
然后你的处理程序将看起来像这样
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Handle your Button clicks here
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104903 次 |
| 最近记录: |