Mausrad und Maustaste abfragen

  • VB.NET

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

    Mausrad und Maustaste abfragen

    'n Abend zusammen...
    Bekanntermaßen kann man ein scrollbares Panel im Standard mit dem Mausrad in vertikaler Richtung scrollen - ohne eine Programmzeile schreiben zu müssen.

    Ich möchte aber nun beim Drehen des Mausrades - bei gleichzeitig gedrückter rechter Maustaste - einen horizontalen Bildlauf durchführen.
    Hatte gedacht, das funktioniert so:

    VB.NET-Quellcode

    1. Private Sub pZF_MouseWheel(sender As Object, e As MouseEventArgs) Handles pZF.MouseWheel
    2. If e.Button = MouseButtons.Right Then
    3. If pZF.HorizontalScroll.Value + e.Delta < pZF.HorizontalScroll.Maximum And pZF.HorizontalScroll.Value + e.Delta > 0 Then
    4. pZF.HorizontalScroll.Value += e.Delta
    5. End If
    6. End If
    7. tsslStatus.Text = e.Button.ToString
    8. Präsentation_pZF_Scroll_Sync()
    9. End Sub


    Anscheinend wird aber das MouseWheel-Event ohne Abfrage der anderen Maustasten durchgeführt?! e.Button ist immer 0.

    Jemand eine Idee
    Gruß
    PrinzCharly
    @ErfinderDesRades

    So funktioniert die Tastenabfrage:

    VB.NET-Quellcode

    1. Private Sub pZF_MouseWheel(sender As Object, e As MouseEventArgs) Handles pZF.MouseWheel
    2. If MouseButtons = MouseButtons.Right Then
    3. If pZF.HorizontalScroll.Value + e.Delta < pZF.HorizontalScroll.Maximum And pZF.HorizontalScroll.Value + e.Delta > 0 Then
    4. pZF.HorizontalScroll.Value += e.Delta
    5. End If
    6. End If
    7. tsslStatus.Text = MouseButtons.ToString
    8. Präsentation_pZF_Scroll_Sync()
    9. End Sub

    ALLERDINGS: Der vertikale Bildlauf wird ebenfalls ausgeführt. Das heißt, ich scrolle jetzt gleichzeitig beide Laufleisten. Kann man den vertikalen Scroll irgendwie unterdrücken?