私の問題は、MouseMove イベント内でマウス ポインターの位置を変更する必要があることです。これにより、無限再帰が発生します。生成されるMouseMove イベントを抑制する必要がありMe.Cursor.Position = newpos
ます。どうやってやるの?
私は読んだことMe.EnableEvents = False
がありますが、これは Visual Studio 2005 では有効ではなく、同等のものを見つけることができませんでした。
私の問題は、MouseMove イベント内でマウス ポインターの位置を変更する必要があることです。これにより、無限再帰が発生します。生成されるMouseMove イベントを抑制する必要がありMe.Cursor.Position = newpos
ます。どうやってやるの?
私は読んだこと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