Die meisten Anwendungen müssen ihren Benutzern Wahlmöglichkeiten anbieten, die von einer einfachen Ja/Nein-Option bis zur der Auswahl aus einer Liste mit Hunderten von Listeneinträgen reichen. Visual Basic enthält verschiedene Standardsteuerelemente, die für solche Wahlmöglichkeiten gut geeignet sind. Die folgende Übersicht fasst diese Steuerelemente und die jeweilige Einsatzmöglichkeit zusammen.
Gewünschte Funktion |
Verwendetes Steuerelement |
Eine kleine Anzahl an Wahlmöglichkeiten, aus denen der Benutzer auch mehrere auswählen kann. |
CheckBox (Kontrollkästchen) |
Eine kleine Anzahl von Optionen, aus denen der Benutzer nur eine auswählen kann. |
OptionButton (Optionsfelder) |
Eine Liste, in der der Benutzer einen Bildlauf durchführen und einen Wert wählen kann. |
ListBox (Listenfeld) |
Eine Liste, in der der Benutzer einen Bildlauf durchführen und einen Wert wählen kann, kombiniert mit einem Textfeld. Der Benutzer kann entweder einen Begriff aus einer Liste wählen oder einen Begriff in das Bearbeitungsfeld eingeben. |
ComboBox (Kombinationsfeld) |
Abbildung
Das Kontrollkästchen-Steuerelement
Ein Kontrollkästchen zeigt an, ob eine bestimmte Bedingung
gerade aktiviert (Häkchen) oder deaktiviert ist.
In einer Anwendung verwenden Sie Kontrollkästchen, um dem Benutzer die Optionen
True/False oder Ja/Nein
zur Wahl zu stellen. Da Kontrollkästchen unabhängig voneinander sind, kann ein
Benutzer beliebig viele Kontrollkästchen gleichzeitig aktivieren. In
Abbildung 19 können z.B. sowohl Fett als auch Kursiv
aktiviert werden.
Die Value-Eigenschaft des Kontrollkästchen-Steuerelements zeigt an, ob das Kontrollkästchen aktiviert, deaktiviert oder nicht verfügbar (ausgeblendet) ist. Wurde das Kontrollkästchen aktiviert, ist der Wert auf 1 gesetzt.
Einstellung |
Wert |
Konstante |
Deaktiviert |
0 |
vbUnchecked |
Aktiviert |
1 |
vbChecked |
Nicht verfügbar |
2 |
vbGrayed |
Die folgende Tabelle listet die Werte und die entsprechenden Visual Basic-Konstanten auf, die zum Festlegen der Value-Eigenschaft verwendet werden.
Der Benutzer klickt auf das Kontrollkästchen-Steuerelement, um anzuzeigen, ob das Steuerelement aktiviert oder deaktiviert sein soll. Sie können dann den Status des Steuerelements testen und die Anwendung so programmieren, daß eine Aktion auf der Basis dieser Informationen durchgeführt wird.
Standardmäßig ist das Kontrollkästchen-Steuerelement auf 0 (vbUnchecked) gesetzt. Wenn Sie eine Vorauswahl von mehreren Kontrollkästchen aus einer Liste von Kontrollkästchen treffen möchten, können Sie dazu die Value-Eigenschaft auf 1 (vbChecked) in den Prozeduren Form_Load oder Form_Initialize setzen.
Sie können die Value-Eigenschaft auch auf 2 (vbGrayed) setzen, um das Kontrollkästchen zu deaktivieren. Der Benutzer kann es dann nicht anwählen. So können Sie beispielsweise ein Kontrollkästchen deaktivieren, bis eine bestimmte Bedingung erfüllt ist, um es dann per Programmcode wieder zu aktivieren.
Immer wenn der Benutzer auf das Kontrollkästchen-Steuerelement klickt, wird das Click-Ereignis ausgelöst. Sie können Ihre Anwendung so programmieren, dass eine Aktion durchgeführt wird, die vom Status des Kontrollkästchens abhängt. Im folgenden Beispiel ändert sich die Caption-Eigenschaft des Kontrollkästchen-Steuerelements jedes Mal, wenn auf das Steuerelement geklickt wird. Dadurch soll der aktivierte bzw. deaktivierte Status des Steuerelements angezeigt werden.
Private
Sub Check1_Click()
If Check1.Value = vbChecked Then Check1.Caption = "Aktiviert" ElseIf Check1.Value = vbUnchecked Then Check1.Caption = "Deaktiviert" End If End Sub |
Private
Sub Check1_Click()
If Check1.Value = 1 Then Check1.Caption = "Aktiviert" ElseIf Check1.Value = 0 Then Check1.Caption = "Deaktiviert" End If End Sub |
Anmerkung Falls der Benutzer versucht, auf ein Kontrollkästchen-Steuerelement doppelzuklicken, wird jedes Klicken getrennt verarbeitet - das Kontrollkästchen-Steuerelement unterstützt das Doppelklick-Ereignis also nicht.
Das Click-Ereignis des Kontrollkästchen-Steuerelements wird auch ausgelöst, wenn der Fokus mit der Tastatur auf das Steuerelement gesetzt wird, indem Sie die TABULATORTASTE und dann die LEERTASTE drücken.
Sie können eine weitere Auswahlmöglichkeit für das Kontrollkästchen-Steuerelement hinzufügen, indem Sie ein kaufmännisches Und-Zeichen (&) vor einem Buchstaben in der Caption-Eigenschaft einfügen, um eine Tastenkombination zu erstellen.
![]() |
Abbildung 20 Kontrollkästchen-Beispiel |
Das Kontrollkästchen-Steuerelement kann wie der CommandButton optisch ansprechender gestaltet werden, wenn Sie die Einstellung der Style-Eigenschaft ändern und dann die Eigenschaften Picture, DownPicture und DisabledPicture verwenden (siehe den entsprechenden Abschnitt zum CommandButton.)
Das Kontrollkästchen-Beispiel verwendet ein Kontrollkästchen, um festzulegen, ob der Text normal oder kursiv dargestellt wird. Eine ausführbare Version dieses Beispiels finden Sie im Formular Check.frm in der Beispielanwendung Controls.vbp.
Die Anwendung beinhaltet ein Textfeld, ein Bezeichnungsfeld, eine Befehlsschaltfläche und zwei Kontrollkästchen, wie in Abbildung 20 dargestellt.
Die folgende Tabelle enthält die Einstellungen der Eigenschaften für die Objekte in der Anwendung.
Objekt |
Eigenschaft |
Einstellung |
Formular |
Name |
frmCheck |
Textfeld |
Name |
txtDisplay |
Erstes Kontrollkästchen |
Name |
chkBold |
Zweites Kontrollkästchen |
Name |
chkItalic |
Befehlsschaltfläche |
Name |
cmdClose |
Bezeichnungsfeld |
Name |
lblInfo |
Wenn Sie Fett oder Kursiv aktivieren, wird die Value-Eigenschaft des Kontrollkästchens auf 1 gesetzt. Wenn Sie ein Kontrollkästchen deaktivieren, wird die dazugehörige Value-Eigenschaft auf 0 gesetzt. Der Standardwert ist 0, so daß das Kästchen zunächst nicht aktiviert ist, solange Sie den Wert nicht ändern. Sie können die Konstanten vbChecked und vbUnchecked für die Werte 1 und 0 verwenden.
Das Click-Ereignis für das Kontrollkästchen wird ausgelöst, sobald Sie auf das Kästchen klicken. Diese Ereignisprozedur prüft, ob das Kontrollkästchen aktiviert wurde (d.h. ob Value = vbChecked ist). In diesem Fall wird der Text fett oder kursiv angezeigt, indem die Bold- oder Italic-Eigenschaft des von der Font-Eigenschaft des Textfeldes zurückgegebenen Font-Objektes gesetzt wird.
Private Sub chkBold_Click ()
If ChkBold.Value = vbChecked Then ' Falls aktiviert.
txtDisplay.Font.Bold = True
Else ' Falls nicht aktiviert.
txtDisplay.Font.Bold = False
End If
End Sub
Private Sub chkItalic_Click ()
If ChkItalic.Value = vbChecked Then ' Falls aktiviert.
txtDisplay.Font.Italic = True
Else ' Falls nicht aktiviert.
txtDisplay.Font.Italic = False
End If
End Sub