Events 如何在特定情况下抑制MouseMove事件?
我的问题是我需要更改鼠标指针在MouseMove事件中的位置,这会导致无限递归。我需要抑制Events 如何在特定情况下抑制MouseMove事件?,events,visual-studio-2005,suppress,Events,Visual Studio 2005,Suppress,我的问题是我需要更改鼠标指针在MouseMove事件中的位置,这会导致无限递归。我需要抑制Me.Cursor.Position=newpos生成的MouseMove事件。我该怎么做 我阅读了有关Me.EnableEvents=False的内容,但这对Visual Studio 2005无效,并且我找不到等效项。您到底想做什么?也许有更好的办法。但是,假设这是您想要的,您可以先取消订阅MouseMove事件中的事件处理程序,然后再使用RemoveHandler更改光标位置。完成后,只需重新添加即可
Me.Cursor.Position=newpos
生成的MouseMove事件。我该怎么做
我阅读了有关
Me.EnableEvents=False
的内容,但这对Visual Studio 2005无效,并且我找不到等效项。您到底想做什么?也许有更好的办法。但是,假设这是您想要的,您可以先取消订阅MouseMove
事件中的事件处理程序,然后再使用RemoveHandler
更改光标位置。完成后,只需重新添加即可:
Public Class MyForm
Private Sub MyForm_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles Me.MouseMove
UnsubscribeEvents()
' change mouse pointer's position here...
ResubscribeEvents()
End Sub
Private Sub UnsubscribeEvents()
RemoveHandler Me.MouseMove, AddressOf MyForm_MouseMove
End Sub
Private Sub ResubscribeEvents()
AddHandler Me.MouseMove, AddressOf MyForm_MouseMove
End Sub
End Class