2015-11-13 31 views
0

這是我點擊一個標籤以便改變顏色的方法,但是我想知道如何製作它,所以下一個標籤也只會在點擊時變成紅色。 在在Visual Studio中做多個標籤

我總共有48個標籤如果Seat1.BackColor = Color.White然後 Seat1.BackColor = Color.Red 否則 Seat1.BackColor = Color.White 結束如果

回答

1

你可以有同樣的子程序處理所有的座位標籤上單擊事件的鑄造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 
+0

覺得這是值得一提的是,即使所有的標籤都沒有以同樣的方式命名,你可以添加所有的他們到相同的容器(組框,面板等),並以與上述相同的方式遍歷所有標籤。 – RianBattle

+0

這是一個很好的觀點,謝謝。 – N0Alias