Panel Autoscroll bei MouseOver

  • VB.NET

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

    Panel Autoscroll bei MouseOver

    huhu liebe Gemeinde :)

    Ich habe zwei Panel (Panel4 und Panel5 ist identisch, nur mit eigenen Parametern) folgende Eigenschaften gegeben:

    VB.NET-Quellcode

    1. Sub Panel4_MouseEnter(sender As Object, e As EventArgs) Handles Panel4.MouseEnter
    2. Panel4.Select()
    3. panelactive4 = True
    4. End Sub
    5. Private Sub Panel4_MouseLeave(sender As Object, e As EventArgs) Handles Panel4.MouseLeave
    6. panelactive4 = False
    7. End Sub
    8. Private Sub Panel4_MouseWheel(sender As Object, e As MouseEventArgs) Handles Panel4.MouseWheel
    9. If panelactive4 = True Then
    10. Dim myView As Point = Me.Panel4.AutoScrollPosition
    11. Me.Panel4.AutoScrollPosition = myView
    12. Else
    13. Return
    14. End If
    15. End Sub


    Wenn man auf ein Panel mit der Maus drüberfährt, bekommt das Panel den Fokus und man kann direkt mit dem Scrollrad das Panel bewegen.
    Es gibt zwei Panels auf meiner Form, das zweite Panel hat auch exakt dieselben Parameter wie oben, nur mit den eigenen Werten eben.

    Sobald ich auf Panel4 drüberfahre, soll nur Panel4 mit dem Scrollrad bewegt werden.

    ---

    Soweit funktioniert es, allerdings habe ich folgendes Problem:

    Wenn ich vorher auf Panel4 war und nun auf Panel5 drüberfahre, dann scrollt Panel5 automatisch hoch und bleibt nicht an der Position stehen, an der ich beim letzten Verlassen war.

    D.h., ich scroll auf Panel4 runter, gehe hoch auf Panel5 und dann wieder auf Panel4 und Panel4 resettet sich mit dem Scrollwert ganz nach oben.

    Das ist bei langer Scrolldauer auf Dauer etwas nervig.

    Wie könnte man dagegenwirken?

    Vielen Dank im Voraus!