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