Mark Egan Bulatag
Mark Egan Bulatag

Reputation: 33

Dynamically change button background color in vb.net

I have 3 buttons in my .Net app and I would like to know how I can perform the below code dynamically.

Public Class frmTC

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Button1.BackColor = Color.Red
    Button2.BackColor = Color.Yellow
    Button3.BackColor = Color.Yellow
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Button1.BackColor = Color.Yellow
    Button2.BackColor = Color.Red
    Button3.BackColor = Color.Yellow
End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    Button1.BackColor = Color.Yellow
    Button2.BackColor = Color.Yellow
    Button3.BackColor = Color.Red
End Sub

End Class

Upvotes: 3

Views: 29859

Answers (3)

Damith
Damith

Reputation: 63065

Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button3.Click
   Dim btn As Button = CType(sender, Button)
   SetColor(btn)
End Sub

Private Sub SetColor(Button button)
    Button1.BackColor = Color.Yellow
    Button2.BackColor = Color.Yellow
    Button3.BackColor = Color.Yellow
    button.BackColor =Color.Red
End Sub

Upvotes: 2

Nadeem_MK
Nadeem_MK

Reputation: 7689

You can handle all the events in one handler;

Private Sub Buttons_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click 

select Case sender.ToString

  Case "Button1"
    Button1.BackColor = Color.Red
    Button2.BackColor = Color.Yellow
    Button3.BackColor = Color.Yellow

  Case "Button2"
    Button1.BackColor = Color.Yellow
    Button2.BackColor = Color.Red
    Button3.BackColor = Color.Yellow

  Case "Button3"
    Button1.BackColor = Color.Yellow
    Button2.BackColor = Color.Yellow
    Button3.BackColor = Color.Red

End Sub

Sorry I don't have the platform to test it, but I guess it might guide you in the right direction.

Upvotes: 0

Mahadev
Mahadev

Reputation: 856

If you want to call Above button clicks, you can use PerformClick() method to call Events.

For More information, please visit Here

Upvotes: 0

Related Questions