Reputation: 33
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
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
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