Erstellen eines Textfelds für die Kennworteingabe

Ein Kennwortfeld ist ein Textfeld, das einem Benutzer die Eingabe seines Kennworts ermöglicht, während das Textfeld nur Platzhalterzeichen (z.B. Sternchen) anzeigt. Visual Basic stellt zwei Textfeldeigenschaften, PasswordChar und MaxLength, zur Verfügung, die das Erstellen eines Kennwortfelds erleichtern.

PasswordChar legt das in dem Textfeld angezeigte Zeichen fest. Wenn beispielsweise Sternchen im Kennwortfeld angezeigt werden sollen, geben Sie im Eigenschaftenfenster ein Sternchen (*) für die PasswordChar-Eigenschaft ein. Unabhängig von den Zeichen, die ein Benutzer dann als Bestandteil seines Kennworts in das Textfeld eingibt, wird immer ein Sternchen angezeigt (siehe Abbildung 17).

Abbildung 17   Beispiel für ein Kennwort 

Mit der MaxLength-Eigenschaft legen Sie fest, wie viele Zeichen in das Textfeld eingegeben werden können. Sobald die Anzahl der Zeichen den Wert von MaxLength überschreitet, gibt das System einen Signalton aus, und das Textfeld nimmt keine weiteren Zeichen mehr an.

 Einschränken von Tastenanschlägen in einem Textfeld

Mit dem KeyPress-Ereignis können Sie Tastatureingaben einschränken oder schon während der Eingabe umwandeln. Das KeyPress-Ereignis verwendet das Argument keyascii. Dieses Argument ist eine Ganzzahl, die die Nummer des im Textfeld eingegebenen Zeichens im ASCII-Code darstellt.

Das nächste Beispiel zeigt, wie Tastenanschläge bei der Eingabe eingeschränkt werden. Wenn das eingegebene Zeichen nicht im zulässigen Bereich liegt, verhindert die Prozedur das Weiterleiten des Zeichens, indem sie KeyAscii auf 0 setzt. Das Textfeld für dieses Beispiel hat den Namen txtEnterNums, und die Prozedur verhindert das Weiterleiten von Zeichen, die keine Ziffern darstellen, an das Textfeld. Vergleichen Sie KeyAscii direkt mit den numerischen Werten (Asc) verschiedener Zeichen.

Private Sub txtEnterNums_KeyPress (KeyAscii As Integer)

   If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then

      KeyAscii = 0                          ' Zeicheneingabe einschränken.

      Beep                                   ' Fehlersignal ausgeben.

   End If

End Sub

Weitere Informationen   Weitere Informationen über das KeyPress-Ereignis finden Sie unter "Reagieren auf Tastaturereignisse".

Erstellen eines schreibgeschützten Textfelds

Mit der Locked-Eigenschaft können Sie verhindern, dass Benutzer den Inhalt des Textfelds bearbeiten. Setzen Sie die Locked-Eigenschaft auf True, um Benutzer das Blättern und das Markieren des Text zu erlauben, ohne dass Änderungen möglich sind. Wenn die Locked-Eigenschaft auf True gesetzt ist, funktioniert der Befehl Kopieren in einem Textfeld, die Befehle Ausschneiden und Einfügen funktionieren jedoch nicht. Die Locked-Eigenschaft wirkt sich nur auf die Eingabemöglichkeiten des Benutzers zur Laufzeit aus. Sie können den Inhalt des Textfelds programmgesteuert zur Laufzeit ändern, indem Sie die Text-Eigenschaft des Textfelds ändern.

Ausgeben von Anführungszeichen in einer Zeichenfolge

Manchmal kommen Anführungszeichen (" ") in einer Zeichenfolge vor,. z.B.:       Sie sagt, "Das muss nicht sein."

Zeichenfolgen, die einer Variable oder einer Eigenschaft zugewiesen werden, sind in Anführungszeichen (" ") eingeschlossen. Daher müssen Sie ein zusätzliches Anführungszeichen für jedes Anführungszeichen einfügen, das in einer Zeichenfolge ausgegeben werden soll. Visual Basic interpretiert zwei aufeinanderfolgende Anführungszeichen als ein Anführungszeichen, das in der Zeichenfolge enthalten ist.

Sie können z.B. die oben gezeigte Zeichenfolge ausgeben, indem Sie folgenden Code verwenden:

Text1.Text = "Sie sagte, ""Das muß nicht sein."" "    oder

Text1.Text = "Sie sagte, " & Chr(34) + "Das muß nicht sein." & Chr(34)