通过调用vb.net中的函数来切换按钮颜色

时间:2015-12-16 13:44:44

标签: vb.net vb.net-2010

我是vb.net的新手。我有一个表格的20个按钮。当我点击任意一个按钮时,应该更改颜色。

我可以为所有按钮编码,如下所示。但我需要一个函数,当我调用该函数时,颜色应该改变。请帮帮我,给我完整的编码

 Private Sub btnR1X1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnR1X1.Click
    If (btnR1X1.BackColor = Color.White) Then
        btnR1X1.BackColor = Color.Gray
    ElseIf (btnR1X1.BackColor = Color.Gray) Then
        btnR1X1.BackColor = Color.White
    End If
End Sub

1 个答案:

答案 0 :(得分:1)

我假设您使用的是VB.Net。假设是这种情况,您应该编辑您的问题以删除vb6标记。

您可以编写一个函数来切换任何控件的BackColor。

Private Sub ToggleColor(ctrl As Control)
    If ctrl.BackColor = Color.White Then ctrl.BackColor = Color.Gray Else ctrl.BackColor = Color.White
End Sub

你可以从Button的点击处理程序中调用该函数,就像这样

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ToggleColor(CType(sender, Control))
End Sub

但是,如果在单击任何按钮时要执行的操作是切换BackColor,则可以对每个按钮的单击事件使用单个事件处理程序。

Private Sub Buttons_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click 'etc
    Dim ctrl as Control = CType(sender, Control)
    If ctrl.BackColor = Color.White Then ctrl.BackColor = Color.Gray Else ctrl.BackColor = Color.White
End Sub