主题:[讨论]label数组
alenschen
[专家分:0] 发布于 2008-01-18 01:04:00
有一组label1(0 to 10)的数组,label的文本为黑色
想要双击一个或多个label的文本就变红色,再单击变为黑色,
其它没单击或双击到还为黑色。
回复列表 (共3个回复)
沙发
snyga [专家分:1480] 发布于 2008-01-18 08:44:00
Private Sub Label1_DblClick(Index As Integer)
Label1(Index).ForeColor = IIf(Label1(Index).ForeColor = vbRed, vbBlack, vbRed)
End Sub
板凳
华山论剑 [专家分:5310] 发布于 2008-01-18 08:45:00
[code=c]
Private Sub Label1_Click(Index As Integer)
Dim i As Integer
For i = 0 To 9
If i <> Index Then
Label1(i).ForeColor = vbBlack
End If
Next
If Label1(Index).ForeColor = vbRed Then
Label1(Index).ForeColor = vbBlack
Else
Label1(Index).ForeColor = vbRed
End If
End Sub
[/code]
双击一样处理。
3 楼
老大徒伤悲 [专家分:29120] 发布于 2008-01-18 09:17:00
我觉得,1楼的代码简洁,但是不容易看懂,尤其对初学者。
2楼代码容易看懂,但有些语句,似乎不是实现楼主要求功能的。
所以我觉得按楼主的设想,代码可以写为:
Private Sub Label1_DblClick(Index As Integer)
Label1(Index).ForeColor = vbRed
End Sub
Private Sub Label1_Click(Index As Integer)
Label1(Index).ForeColor = vbBlack
End Sub
我来回复