I want to have 60 buttons that each button has same function with other but not the output when its selected/focused. I don't want to make one by one function.

Here is what i mean:

Private Sub Button_Click() Handles button1.click, button2.click, .... ,button60.click
    Dim ST As Button
    [ST As Selected/Focused Button] <-- I have no idea
    ST.BackColor.ToString = TextBox1.Text
End Sub

Recommended Answers

All 2 Replies

You need to make use of the sender object.

Example:

Private Sub Button_Click(sender as System.Object, e as System.EventArgs)
    Try
        Dim ST As New Button

        ST = TryCast(sender,button)

        ST.BackColor.ToString = TextBox1.Text
    Catch
        MsgBox(ex.message)
    End Try
End Sub

Programaticly add this handler to each button ( To rid yourself of the long line of handles clauses )

Example:

For Each btn as Button in Me.Controls
   AddHandler btn.Click, AddressOf Button_Click
Next

'Assuming those buttons are the only ones that exist.

Hope this helps.

Oh, Thanks! its works perfectly!!
[Solved]

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.