Übersicht über TextBox
Mit der TextBox-Klasse können Sie unformatierten Text anzeigen oder bearbeiten. TextBox wird häufig verwendet, um unformatierten Text in einem Formular zu bearbeiten. Zum Beispiel verwendet ein Formular, in dem nach dem Benutzernamen, der Telefonnummer usw. gefragt wird, TextBox-Steuerelemente für die Texteingabe. In diesem Thema wird die TextBox-Klasse eingeführt. Außerdem sind Beispiele für ihre Verwendung in Extensible Application Markup Language (XAML) und C# enthalten.
Dieses Thema enthält folgende Abschnitte.
- TextBox oder RichTextBox?
- Erstellen von TextBoxes
- Erkennen von Inhaltsänderungen
- Verwandte Abschnitte
TextBox oder RichTextBox?
Sowohl mit TextBox als auch mit RichTextBox können Benutzer Text eingeben. Die zwei Steuerelemente werden jedoch in unterschiedlichen Szenarien eingesetzt. Ein TextBox erfordert weniger Systemressourcen als ein RichTextBox. Es ist daher ideal, wenn nur reiner Text bearbeitet werden muss (d. h. bei der Verwendung in einem Formular). Ein RichTextBox ist die bessere Wahl, wenn der Benutzer formatierten Text, Bilder, Tabellen oder andere unterstützte Inhalte bearbeiten muss. So lässt sich das Bearbeiten von Dokumenten, Artikeln oder Blogs, die Formatierung, Bilder usw. benötigen, am besten mit einem RichTextBox erreichen. In der folgenden Tabelle werden die primären Features von TextBox und TextBox zusammengefasst.
Steuerelement |
Rechtschreibprüfung in Echtzeit |
Kontextmenü |
Formatierungsbefehle wie ToggleBold (STRG+B) |
FlowDocument-Inhalte wie Bilder, Absätze, Tabellen usw. |
---|---|---|---|---|
Ja |
Ja |
Nein |
Nein. |
|
Ja |
Ja |
Ja (siehe Übersicht über RichTextBox) |
Ja (siehe Übersicht über RichTextBox) |
Hinweis |
---|
Obwohl TextBox keine formatierungsbezogenen Bearbeitungsbefehle wie ToggleBold (STRG+B) unterstützt, werden viele Grundbefehle, z. B. MoveToLineEnd, von beiden Steuerelementen unterstützt.Weitere Informationen finden Sie unter EditingCommands. |
Von TextBox unterstützte Features werden in den Abschnitten weiter unten behandelt. Weitere Informationen über RichTextBox finden Sie unter Übersicht über RichTextBox.
Rechtschreibprüfung in Echtzeit
Sie können die Rechtschreibprüfung in Echtzeit in einem TextBox oder einem RichTextBox aktivieren. Bei aktivierter Rechtschreibprüfung wird eine rote Linie unter allen falsch geschriebenen Wörtern angezeigt (siehe Abbildung unten).
Weitere Informationen zur Aktivierung der Rechtschreibprüfung finden Sie unter Gewusst wie: Aktivieren der Rechtschreibprüfung in einem Textbearbeitungssteuerelement.
Kontextmenü
Standardmäßig verfügen TextBox und RichTextBox über ein Kontextmenü, das angezeigt wird, wenn ein Benutzer mit der rechten Maustaste auf das Steuerelement klickt. Mithilfe des Kontextmenüs kann der Benutzer die Vorgänge Ausschneiden, Kopieren bzw. Einfügen ausführen (siehe Abbildung unten).
Sie können ein eigenes benutzerdefiniertes Kontextmenü erstellen, um das Standardverhalten zu überschreiben. Weitere Informationen finden Sie unter Gewusst wie: Verwenden eines benutzerdefinierten Kontextmenüs mit "TextBox".
Erstellen von TextBoxes
Ein TextBox kann eine einzelne Zeile hoch sein oder mehrere Zeilen umfassen. Ein einzeiliges TextBox-Element eignet sich am besten, um geringe Textmengen im Nur-Text-Format einzugeben (z. B. " Name", "Telefonnummer" usw. in einem Formular). Im folgenden Beispiel wird das Erstellen eines einfachen einzeiligen TextBox-Elements veranschaulicht.
<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel>
<TextBox Width="200" MaxLength="100" />
</StackPanel>
</Page>
Sie können auch ein TextBox erstellen, mit dem der Benutzer mehrere Textzeilen eingeben kann. Wenn z. B. der Benutzer im Formular um die Eingabe eines kurzen Lebenslaufs gebeten wird, verwenden Sie dazu ein TextBox, das mehrere Zeilen Text aufnimmt. Im folgenden Beispiel wird verdeutlicht, wie mit Extensible Application Markup Language (XAML) ein TextBox-Steuerelement definiert wird, das sich automatisch vergrößert, um mehrere Zeilen Text aufzunehmen.
<TextBox
Name="tbMultiLine"
TextWrapping="Wrap"
AcceptsReturn="True"
VerticalScrollBarVisibility="Visible"
>
This TextBox will allow the user to enter multiple lines of text. When the RETURN key is pressed,
or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>
Durch Festlegen des TextWrapping-Attributs auf Wrap wird Text auf eine neue Zeile umbrochen, wenn der Rand des TextBox-Steuerelements erreicht wird. Dabei wird ggf. automatisch das TextBox-Steuerelement angepasst, um die neue Zeile aufzunehmen.
Durch Festlegen des AcceptsReturn-Attributs auf true wird eine neue Zeile eingefügt, wenn die EINGABETASTE gedrückt wird, wodurch ggf. auch wieder das TextBox automatisch angepasst wird, um die neue Zeile aufzunehmen.
Das VerticalScrollBarVisibility-Attribut fügt dem TextBox eine Bildlaufleiste hinzu, sodass für die Inhalte des TextBox-Elements ein Bildlauf durchgeführt werden kann, wenn das TextBox die Größe des umgebenden Rahmens oder Fensters überschreitet.
Weitere Informationen über andere Aufgaben im Zusammenhang mit dem Verwenden eines TextBox-Elements finden Sie unter Gewusst-wie-Themen zu TextBox.
Erkennen von Inhaltsänderungen
Sie sollten i. d. R. mit dem TextChanged-Ereignis ermitteln, wann Text in einem TextBox oder RichTextBox geändert wird, und dafür nicht, wie zu erwarten wäre, KeyDown verwenden. Ein Beispiel finden Sie unter Gewusst wie: Erkennen von Änderungen an Text in einem Textfeld.