我正在开发Access 2007应用程序,并对MouseMove在标签和表单上的性能有所担忧。 到目前为止,在我的解决方案中,我在双核I5 3.0ghz上获得了较高的CPU使用率。 当我移动鼠标cpu使用率跳转到一个核心的30-32%左右(使用超线程) 对于像MouseMove这样简单的任务,我想有一些效率更高:)MouseMove高CPU使用率 - 寻找更好更优雅的解决方案
下面的代码被缩短了;我有8个标签与MouseMove事件处理程序。
下面是它是如何实现的:
Private moveOverOn As Boolean
Private Property Get isMoveOverOn() As Boolean
isMoveOverOn = moveOverOn
End Property
Private Property Let setMoveOverOn(value As Boolean)
moveOverOn = value
End Property
'label MouseMove detection
Private Sub lbl_projects_completed_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Shift = 0 And isMoveOverOn = False Then
Me.lbl_projects_completed.FontBold = True
setMoveOverOn = True
End If
End Sub
'main form MouseMove detection
Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If isMoveOverOn Then
resetBold 'call a sub that reset all labels .FontBold
setMoveOverOn = False
End If
End Sub
我不知道这是否是可能的,但我认为,减少鼠标移动 刷新时的速度将有助于完成这个任务,不幸的是我没有能够找到关于它的信息。
我接受了建议,感谢您的时间! :)
什么是你想用这个来完成? – engineersmnky
简单的鼠标将使用户知道他可以与对象进行交互的粗体字体。用户将点击,然后获得另一种形式。 – Mindkrypted
我假设这些标签没有附加,如果是这样的话,为什么不明确他们可以通过使用超链接来交互呢? – engineersmnky