2015-12-16 48 views
0

我是vb.net的新用戶。我有一個形式的20個按鈕。當我點擊任何一個按鈕時,它的顏色應該改變。通過調用vb.net中的函數切換按鈕顏色

我可以編寫如下所有的按鈕。但是我需要一個函數,當我調用該函數時,顏色應該改變。請幫助我,給我完整的編碼

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 
+0

首先,你需要了解vb6≠vb.net –

+0

按鈕的子類。 –

+0

對不起,你能幫我做這個子類嗎? – Nishakar

回答

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 

您還可以從一個按鈕的點擊處理程序函數這樣

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

但是,如果所有你想做的事時,任何按鈕被點擊的是切換背景色,你可以使用每個按鈕的單擊事件的單個事件處理程序。

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