在 vb.net 中动态更改按钮背景颜色

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/29664946/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 19:02:05  来源:igfitidea点击:

Dynamically change button background color in vb.net

vb.netbutton

提问by Mark Egan Bulatag

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

我的 .Net 应用程序中有 3 个按钮,我想知道如何动态执行以下代码。

Public Class frmTC

公共课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

采纳答案by Damith

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

回答by Mahadev

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

如果你想调用上面的按钮点击,你可以使用PerformClick()方法来调用事件。

For More information, please visit Here

欲了解更多信息,请访问这里

回答by Nadeem_MK

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.

抱歉,我没有测试它的平台,但我想它可能会引导您朝着正确的方向前进。