在包含动态生成按钮的自定义控件上处理单击事件vb.net
我的问题是: 我有一个自定义控件,它是一个动态生成按钮的面板,将来它将做足够多的事情成为一个控件,而不仅仅是一个面板 我想做的是以包含控件的形式创建一个事件,该控件允许我处理对该按钮的单击 我该怎么做 p.D.1:更具体地说,我想知道点击了哪个按钮在包含动态生成按钮的自定义控件上处理单击事件vb.net,vb.net,button,click,Vb.net,Button,Click,我的问题是: 我有一个自定义控件,它是一个动态生成按钮的面板,将来它将做足够多的事情成为一个控件,而不仅仅是一个面板 我想做的是以包含控件的形式创建一个事件,该控件允许我处理对该按钮的单击 我该怎么做 p.D.1:更具体地说,我想知道点击了哪个按钮 p.D.2:事实上,如果我能够处理面板中的标签更改事件,那么处理按钮单击事件的代码应该足够了 Friend Sub Button1_click(sender As Object, e As EventArgs) 'your code her
p.D.2:事实上,如果我能够处理面板中的标签更改事件,那么处理按钮单击事件的代码应该足够了
Friend Sub Button1_click(sender As Object, e As EventArgs)
'your code here
End Sub
您可能正在查找自定义事件
Public Event ButtonPressed As EventHandler(Of ButtonPressedEventArgs)
Public Class ButtonPressedEventArgs
Inherits EventArgs
Public Property MyButtonNumber As Integer
End Class
在按钮中单击可引发事件
Private Sub MyButton1_Click(sender As System.Object,e As System.EventArgs) Handles MyButton1.Click
RaiseEvent ButtonPressed(Me, New ButtonPressedEventArgs() with {.MyButtonNumber = 1}
End Sub
并在适当情况下处理事件:
Private Sub MyControl_ButtonPressed(sender As System.Object,e As ButtonPressedEventArgs) Handles MyControl.ButtonPressed
Select Case e.MyButtonNumber
Case 1
'Do what required
End Select
End Sub
创建一个子代码
Private Sub buttonPressed(sender As Object, e As System.EventArgs)
Dim b As Button = CType(sender, Button)
MsgBox("Button pressed: " & b.Name)
End Sub
动态创建按钮时,添加以下代码行:
AddHandler yourButton.Click, AddressOf buttonPressed
您可以编辑您的帖子来进一步描述您的问题,而不是在您自己的问题上发表评论。即使Addressed函数位于另一个类中,它是否有效?或者我可以在第二个类中使用pannel_name.button来处理该事件吗?是的,如果寻址函数在另一个类中,它应该可以工作。只需确保声明了次公共而不是私有,然后使用AddHandler yourButton。单击,AddressOf yourClass.Button按下