21.3 Familie der Buttons
Zu den wichtigsten Steuerelementen gehören die Schaltflächen. Die Basisklasse aller Buttons ist ButtonBase, in der alle gemeinsamen Mitglieder definiert sind. Von ihr sind drei Button-Controls abgeleitet, die in Tabelle 21.2 aufgeführt sind.
Button-Typ | Beschreibung |
Button |
Eine Standardschaltfläche |
RepeatButton |
Löst während des Drückens kontinuierlich Click-Ereignisse aus. |
ToggleButton |
Löst ein einzelnes Click-Ereignis aus. Bei jedem Klick wird zwischen »gedrückt« und »nicht gedrückt« umgeschaltet. |
Wann das Ereignis Click ausgelöst wird, bestimmt die Eigenschaft ClickMode vom Typ der gleichnamigen Enumeration (siehe Tabelle 21.3). Die Art der Benutzerführung wird dadurch bestimmt.
Konstante | Ereignisauslösung |
Release |
Wenn auf den Button geklickt und die Maustaste losgelassen wird (Standard) |
Press |
Beim Herunterdrücken der Maustaste |
Hover |
Wenn der Mauszeiger das Steuerelement betritt |
21.3.1 Button
Button ist eine einfache Schaltfläche, die auf Click-Ereignisse reagiert. Die zusätzlichen Eigenschaften IsCancel und IsDefault legen fest, ob die Schaltfläche auch auf die - und die -Taste reagiert.
In einem Dialog wird IsCancel=True in der Regel für die Abbrechen-Schaltfläche gesetzt. Ist der Dialog modal, wird er daraufhin geschlossen, und es werden keine Eingaben an das aufrufende Fenster übermittelt.
Analog wird für die OK-Schaltfläche IsDefault=True gesetzt. Ein modaler Dialog wird geschlossen, und die Eingaben werden verarbeitet.
21.3.2 RepeatButton
Der Unterschied zu Button ist, dass dieser Schaltflächentyp kontinuierlich Click-Ereignisse auslöst, solange der Mauszeiger bei gedrückter Maustaste auf die Schaltfläche zeigt. Die Zeitspanne vom Drücken bis zur ersten Click-Auslösung wird von Delay in Millisekunden festgelegt und die Zeitspanne zwischen den sich wiederholenden Ereignissen von Interval ebenfalls in Millisekunden.
Sinnvoll ist dieses Steuerelement, wenn Werte kontinuierlich erhöht oder verringert werden sollen. Damit können Sie beispielsweise ein eigenes »Up-Down«-Steuerelement entwickeln.
21.3.3 ToggleButton
Dieses Steuerelement ist eng mit der CheckBox verwandt. Es beschreibt seinen Zustand durch die Eigenschaft IsChecked mit den Werten True, False oder Nothing. Letzterer tritt auf, wenn zur Beschreibung eines Zwischenzustandes IsThreeState=True gesetzt ist. Wird auf eine solche Schaltfläche geklickt, wird IsChecked zuerst auf True gesetzt, beim nächsten Klick auf Nothing und beim dritten auf False. Typischerweise verwenden Sie ToggleButton in Symbolleisten.
Beim Zustandswechsel treten die Ereignisse Checked und Unchecked auf, wenn IsChecked die Werte True und False annimmt. Den Wert Nothing erfassen diese Ereignisse nicht.
<ToggleButton Checked="toggleButton1_Checked" Unchecked="toggleButton1_Unchecked" IsEnabled="True">ToggleButton ... </ToggleButton>
In der Code-Behind-Datei können Sie die Ereignishandler programmieren, zum Beispiel:
Private Sub toggleButton1_Checked(sender As Object, e As RoutedEventArgs) MessageBox.Show("Aktueller Zustand: Checked") End Sub Private Sub toggleButton1_Unchecked(sender As Object, e As RoutedEventArgs) MessageBox.Show("Aktueller Zustand: Unchecked") End Sub
Alternativ kann der Zustand auch über das Click-Ereignis ermittelt werden – und zwar für alle drei Zustände:
Private Sub toggleButton1_Click(sender As Object, e As RoutedEventArgs)
MessageBox.Show("Zustand " & If(T.IsChecked, "Checked", _
If(T.IsChecked Is Nothing, "Nothing", "False")))
End Sub
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.