回 帖 发 新 帖 刷新版面

主题:[讨论]label数组

有一组label1(0 to 10)的数组,label的文本为黑色
想要双击一个或多个label的文本就变红色,再单击变为黑色,
其它没单击或双击到还为黑色。

回复列表 (共3个回复)

沙发

Private Sub Label1_DblClick(Index As Integer)
  Label1(Index).ForeColor = IIf(Label1(Index).ForeColor = vbRed, vbBlack, vbRed)
End Sub

板凳

[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 楼

我觉得,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

我来回复

您尚未登录,请登录后再回复。点此登录或注册