0
這是我點擊一個標籤以便改變顏色的方法,但是我想知道如何製作它,所以下一個標籤也只會在點擊時變成紅色。 在在Visual Studio中做多個標籤
我總共有48個標籤如果Seat1.BackColor = Color.White然後 Seat1.BackColor = Color.Red 否則 Seat1.BackColor = Color.White 結束如果
這是我點擊一個標籤以便改變顏色的方法,但是我想知道如何製作它,所以下一個標籤也只會在點擊時變成紅色。 在在Visual Studio中做多個標籤
我總共有48個標籤如果Seat1.BackColor = Color.White然後 Seat1.BackColor = Color.Red 否則 Seat1.BackColor = Color.White 結束如果
你可以有同樣的子程序處理所有的座位標籤上單擊事件的鑄造sender參數作爲標籤:
Private Sub HandleSeatClick(sender As Object, e As EventArgs) Handles Seat1.Click, Seat2.Click, Seat3.Click
Dim lblTarget As Label = CType(sender, Label)
If lblTarget.BackColor = Color.White Then
lblTarget.BackColor = Color.Red
Else
lblTarget.BackColor = Color.White
End If
End Sub
如果你所有的座位標籤以同樣的方式(例如= Seat5,Seat6,Seat7命名。 ..,Seat48),那麼你可以利用AddHandler你不必連線了在HandleSeatClick常規定義處理48個標籤:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim intCursor As Integer = 1
Do Until intCursor = 48
Dim lblTarget As Label = CType(Me.Controls.Find("Seat" & intCursor.ToString(), False).First(), Label)
AddHandler lblTarget.Click, AddressOf HandleSeatClick
intCursor += 1
Loop
End Sub
覺得這是值得一提的是,即使所有的標籤都沒有以同樣的方式命名,你可以添加所有的他們到相同的容器(組框,面板等),並以與上述相同的方式遍歷所有標籤。 – RianBattle
這是一個很好的觀點,謝謝。 – N0Alias