我正在開發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