VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 712|回复: 3

如何使鼠标移到一个标签时,该标签改变背景颜色并且当鼠标移开时,该标签又回复以前的

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-3-16 22:30:01 | 显示全部楼层 |阅读模式
我试过在标签的MouseMove   Event事件里调整它的颜色,当鼠标移动到一个标签时,一点也不起作用,请问有没有更好的方法?
Private Sub LbMain_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single)
Dim i As Integer, iLeft As Long, iRight As Long, iTop As Long, iBottom As Long
i = Index
iLeft = LbMain(i).Left
iRight = LbMain(i).Left + LbMain(i).Width
iTop = LbMain(i).Top
iBottom = LbMain(i).Height + LbMain(i).Top
If x > iLeft And x < iRight And Y > iTop And Y < iBottom Then
  LbMain(i).ForeColor = vbBlue
Else
  LbMain(i).ForeColor = vbBlack
End If

End Sub
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-6-18 13:30:01 | 显示全部楼层
'接合窗体的mousemove事件
Option Explicit
Dim b As Boolean

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    b = False
    Label1.BackColor = vbWhite
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If b = True Then Exit Sub
    Label1.BackColor = vbRed
    b = True
End Sub
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-6-18 20:30:02 | 显示全部楼层
'改进一下
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
     If b = False Then Exit Sub
    Label1.BackColor = vbWhite
    b = False
End Sub
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-6-19 09:45:01 | 显示全部楼层
解决了,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表