Übersicht über TextBox
Mit der TextBox-Klasse können Sie unformatierten Text anzeigen oder bearbeiten. Die häufige Verwendung einer TextBox ist das Bearbeiten von unformatiertem Text in einem Formular. So würde beispielsweise ein Formular, in dem ein Nutzer seinen Namen, seine Telefonnummer usw. eingeben muss, die Texteingabe über TextBox-Elemente gesteuert werden. Im Rahmen dieses Themas wird die TextBox-Klasse vorgestellt. Es enthält außerdem Beispiele für die Verwendung in XAML (Extensible Application Markup Language) und C#.
TextBox oder RichTextBox?
Mit TextBox und RichTextBox können Benutzer Texte eingeben, die zwei Steuerelemente werden jedoch für verschiedene Szenarien verwendet. Ein TextBox benötigt weniger Systemressourcen als ein RichTextBox, was ideal ist, wenn lediglich Nur-Text bearbeitet werden muss (d. h. Verwendung in einem Formular). Wenn formatierter Text, Bilder, Tabellen oder anderer unterstützter Inhalt bearbeitet werden soll, ist ein RichTextBox besser geeignet. Zum Beispiel werden Dokumente, Artikel oder Blogs, die Formatierung, Bilder usw. erfordern, am besten mit einem RichTextBox bearbeitet. In der nachstehenden Tabelle sind die primären Funktionen von TextBox und RichTextBox zusammengefasst.
Control | Rechtschreibprüfung in Echtzeit | Kontextmenü | Formatierungsbefehle wie ToggleBold (STRG+B) | FlowDocument-Inhalte wie Bilder, Absätze, Tabellen usw. |
---|---|---|---|---|
TextBox | Ja | Ja | Nein | Nein. |
RichTextBox | Ja | Ja | Ja (Siehe Übersicht über RichTextBox) | Ja (Siehe Übersicht über RichTextBox) |
Hinweis
Obwohl TextBox die Formatierung im Zusammenhang mit dem Bearbeiten von Befehlen wie ToggleBold (Ctr+B) nicht unterstützt, werden viele Basisbefehle von beiden Steuerelementen, wie z. B. MoveToLineEnd, unterstützt. Weitere Informationen finden Sie unter EditingCommands.
Funktionen, die von TextBox unterstützt werden, werden in den nachstehenden Abschnitten behandelt. Weitere Informationen zu RichTextBox finden Sie unter Übersicht über RichTextBox.
Rechtschreibprüfung in Echtzeit
Sie können die Rechtschreibprüfung in Echtzeit in TextBox oder RichTextBox aktivieren. Wenn die Rechtschreibprüfung aktiviert ist, wird eine rote Linie unter falsch geschriebenen Wörtern angezeigt (siehe Abbildung unten).
Wie Sie die Rechtschreibprüfung aktivieren, erfahren Sie unter Aktivieren der Rechtschreibprüfung in einem Textbearbeitungssteuerelement.
Kontextmenü
TextBox und RichTextBox haben standardmäßig ein Kontextmenü, das angezeigt wird, wenn ein Benutzer mit der rechten Maustaste in das Steuerelement klickt. Das Kontextmenü ermöglicht dem Benutzer das Ausschneiden, Kopieren und Einfügen (siehe Bild unten).
Sie können Ihr eigenes benutzerdefiniertes Kontextmenü erstellen, um das Standardverhalten zu überschreiben. Weitere Informationen finden Sie unter Verwenden eines benutzerdefinierten Kontextmenüs mit „TextBox“.
Erstellen von TextBoxes
Eine TextBox kann so hoch wie eine einzelne Zeile sein oder aus mehreren Zeilen bestehen. Eine einzelne Zeile TextBox ist am besten dazu geeignet, kleine Mengen Nur-Text einzugeben (d. h. "Name", "Telefonnummer" usw. in einem Formular). Das folgende Beispiel zeigt, wie eine einzelne Zeile TextBox erstellt wird.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel>
<TextBox Width="200" MaxLength="100" />
</StackPanel>
</Page>
Sie können auch eine TextBox erstellen, womit der Benutzer mehrere Textzeilen eingeben kann. Wenn Ihr Formular zum Beispiel eine biografische Skizze des Benutzers verlangt, verwenden Sie ein TextBox, dass mehrere Textzeilen unterstützt. Das folgende Beispiel zeigt, wie XAML (Extensible Application Markup Language) verwendet wird, um einTextBox-Steuerelement zu definieren, das automatisch erweitert wird, um mehrere Textzeilen 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 das Einstellen des TextWrapping-Attributs auf Wrap
wird der Text in eine neue Zeile umgebrochen, wenn die Kante des TextBox-Steuerelements erreicht wird, wodurch automatisch das TextBox-Steuerelement erweitert wird, um gegebenenfalls Raum für eine neue Zeile hinzuzufügen.
Durch das Einstellen des AcceptsReturn-Attributs auf true
wird eine neue Zeile eingefügt, wenn der ZURÜCK-Schlüssel betätigt wird, wodurch erneut automatisch TextBox erweitert wird, um gegebenenfalls Raum für eine neue Zeile hinzuzufügen.
Das VerticalScrollBarVisibility-Attribut fügt eine Bildlaufleiste zu TextBox hinzu, so dass durch den Inhalt von TextBox gescrollt werden kann, wenn TextBox über die Größe des Rahmens oder Fensters, was es umschließt, erweitert wird.
Weitere Informationen über verschiedene Aufgaben, die mit der Verwendung von TextBox in Verbindung stehen, finden Sie in den Themen zur Vorgehensweise.
Erkennen, wenn Inhalt geändert wird
Normalerweise sollte das TextChanged-Ereignis verwendet werden, um zu erkennen, wann immer sich der Text in TextBox oder RichTextBox ändert, statt KeyDown, wie Sie möglicherweise erwarten. Ein Beispiel finden Sie unter Erkennen von Änderungen an Text in einem Textfeld.
Siehe auch
.NET Desktop feedback