Eigener Button soll "hüpfen"

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von BradApfel.

    Eigener Button soll "hüpfen"

    Servus,
    ich habe ein Problem bei einem Effekt von einem selbstgezeichneten Button. Ich möchte wenn der Mauszeiger über dem Button ist (MouseHover) dass das Control einmal Hüpft. Ich habe 2 Varianten:
    Variante1

    VB.NET-Quellcode

    1. Private Sub Homebutton_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseHover
    2. Me.Location = New Point(Me.Location.X, Me.Location.Y - 2)
    3. End Sub
    4. 'wieder zurück
    5. Private Sub Homebutton_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
    6. Me.Location = New Point(Me.Location.X, Me.Location.Y + 2)
    7. End Sub​

    Variante2

    VB.NET-Quellcode

    1. Private Sub Homebutton_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseHover
    2. Me.Top += 1
    3. End Sub
    4. Private Sub Homebutton_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
    5. Me.Top -= 1
    6. End Sub


    Das funktioniert soweit auch. Allerdings wenn man jetzt schnell über den Button hin und her "wischt" dann kehrt er nicht auf seine ursprüngliche Position zurück sondern wandert quer durch die Form. Ich habe den verdacht, das es an dem MouseHover_Event liegt, da er knapp eine halbe Sekunde zum reagieren braucht. Habe es versucht mit einem Timer zu regeln - verschlimmert eher die Sache :P

    Kann ich das eigentlich so machen oder ist das völliger Müll ?
    Gruß

    @~blaze~
    Danke für den Tipp funktioniert ;) Früher oder später muss ich es eh über Paint machen, aber momentan ist es nur dieser eine effekt.

    So klappt es nun:

    VB.NET-Quellcode

    1. Private Sub Homebutton_MouseEnter(sender As Object, e As EventArgs) Handles Me.MouseEnter
    2. Me.Top -= 1
    3. End Sub
    4. Private Sub Homebutton_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
    5. Me.Top += 1
    6. End Sub