Freigeben über


Gewusst wie: Erkennen des Maustastenzustands

Aktualisiert: November 2007

In diesem Beispiel wird beschrieben, wie mit Maustastenereignissen und der MouseButtonState-Eigenschaft ermittelt wird, ob eine bestimmte Maustaste gedrückt wird oder nicht.

Dieses Beispiel besteht aus einer Extensible Application Markup Language (XAML)-Datei und einer Code-Behind-Datei. Das vollständige Beispiel finden Sie unter Beispiel für das Erkennen des Zustands von Maustasten.

Beispiel

Der folgende Code erstellt die Benutzeroberfläche, die aus einem TextBlock in einem StackPanel besteht, und fügt Ereignishandler für die Ereignisse MouseLeftButtonDown und MouseLeftButtonUp an.

<StackPanel Height="100" Width="100" 
    MouseLeftButtonDown="HandleButtonDown" 
    MouseLeftButtonUp="HandleButtonDown" 
    Background="#d08080"
    DockPanel.Dock="Left"
    >
  <TextBlock>Click on Me</TextBlock>
</StackPanel>

Der folgende Code-Behind erstellt die Ereignishandler MouseLeftButtonUp und MouseLeftButtonDown. Wenn die linke Maustaste gedrückt wird, werden die Maße des TextBlock vergrößert. Wenn die linke Maustaste losgelassen wird, werden die ursprüngliche Höhe und Breite des TextBlock wiederhergestellt.

Partial Public Class Window1
    Inherits Window

    Public Sub New()
        InitializeComponent()
    End Sub
    Private Sub HandleButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)

        ' Casting the source to a StackPanel
        Dim sourceStackPanel As StackPanel = CType(e.Source, StackPanel)

        ' If the button is pressed then make dimensions larger.
        If e.ButtonState = MouseButtonState.Pressed Then
            sourceStackPanel.Width = 200
            sourceStackPanel.Height = 200

            ' If the button is released then make dimensions smaller.
        ElseIf e.ButtonState = MouseButtonState.Released Then
            sourceStackPanel.Width = 100
            sourceStackPanel.Height = 100
        End If
    End Sub

End Class
    public Window1()
    {
        InitializeComponent();
    }

    void HandleButtonDown(object sender, MouseButtonEventArgs e)
    {
        //Casting the source to a StackPanel
        StackPanel sourceStackPanel = e.Source as StackPanel;

        //If the button is pressed then make dimensions larger.
        if (e.ButtonState == MouseButtonState.Pressed)
        {
            sourceStackPanel.Width = 200;
            sourceStackPanel.Height = 200;
        }

        //If the button is released then make dimensions smaller.
        else if (e.ButtonState == MouseButtonState.Released)
        {
            sourceStackPanel.Width = 100;
            sourceStackPanel.Height = 100;
        }
    }

}

Siehe auch

Aufgaben

Beispiel für das Erkennen des Zustands von Maustasten

Konzepte

Übersicht über die Eingabe