2012-03-27 13 views
1

Mein Problem ist, dass ich die Position des Mauszeigers innerhalb des MouseMove-Ereignisses ändern muss, was zu einer unendlichen Rekursion führt. Ich muss das MouseMove-Ereignis unterdrücken, das Me.Cursor.Position = newpos erzeugt. Wie kann ich das machen?Wie unterdrückt man das MouseMove-Ereignis im Einzelfall?

Ich lese über Me.EnableEvents = False, aber das ist nicht gültig für Visual Studio 2005 und ich konnte kein Äquivalent finden.

Antwort

0

Was genau versuchen Sie zu tun? Vielleicht gibt es einen besseren Weg. Aber angenommen, dies ist das, was Sie wollen, können Sie den Event-Handler in Ihrem MouseMove Event abmelden, bevor Sie die Cursor-Position mit RemoveHandler ändern. Fügen Sie es einfach zurück, wenn Sie fertig sind:

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 
Verwandte Themen