I have a UserControls with 20 buttons, how do i create a single delegate for
all these buttons for the click event, which will show in the hosted windows
form.
Pointer to source will be helpful
Regards
Jacko
"Jacko" <som...@somewhere.com> wrote in message
news:%23hAuFnB...@TK2MSFTNGP04.phx.gbl...
"Jacko" wrote:
> .
>
Create a subroutine to handle all the buttons:
private sub ClickSub _
(ByVal sender as System.Object, ByVal e as System.EventArgs)
MessageBox.Show("Here...")
end sub
Then in the form constructor, you do the following for all buttons:
AddHandler Button1.Click, AddressOf ClickSub
I don't know what the fragment of your question "...which will show in the
hosted windows form" means.
Mike
If I understand the question correctly...
You need to define a common click Event for your UserControl and raise this
event in the event handler(s) for the buttons. For example:
Public Class MBUserControl
Public Event ButtonClick(ByVal sender As System.Object, ByVal e As
System.EventArgs)
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) _
Handles Button1.Click, Button2.Click,
Button3.Click, Button4.Click
RaiseEvent ButtonClick(sender, e)
End Sub
End Class
And then when you add this UserControl to a Form, you can handle the
ButtonClick event. For example:
Public Class Form1
Private Sub MbUserControl1_ButtonClick(ByVal sender As Object, ByVal
e As System.EventArgs) _
Handles
MbUserControl1.ButtonClick
Dim cmdSender As Button = DirectCast(sender, Button)
MsgBox("Button """ & cmdSender.Name & """ was clicked.")
End Sub
End Class
Cheers,
Randy
"OmegaSquared" <OmegaS...@discussions.microsoft.com> wrote in message
news:0C55322A-EA6E-4F26...@microsoft.com...
I used the addhandler method and got it working
Regards
Jacko
"Family Tree Mike" <FamilyT...@discussions.microsoft.com> wrote in
message news:6A247C90-B2FE-425A...@microsoft.com...