Freigeben über


TextBox-Übersicht

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. Beispielsweise würde ein Formular, das nach dem Namen, der Telefonnummer usw. des Benutzers fragt, Steuerelemente für die Texteingabe verwenden TextBox . In diesem Thema wird die TextBox Klasse vorgestellt und Beispiele für die Verwendung in Extensible Application Markup Language (XAML) und C# bereitgestellt.

„TextBox“ oder „RichTextBox“?

Sowohl TextBox als auch RichTextBox erlauben es den Benutzern, Text einzugeben, jedoch werden die beiden Steuerelemente für unterschiedliche Szenarien verwendet. Eine TextBox erfordert weniger Systemressourcen als eine RichTextBox , daher ist sie ideal, wenn nur Nur-Text bearbeitet werden muss (d. h. die Verwendung in einem Formular). Eine RichTextBox bessere Wahl ist, wenn der Benutzer formatierten Text, Bilder, Tabellen oder andere unterstützte Inhalte bearbeiten muss. Beispielsweise werden Dokumente, Artikel oder Blogs, die Formatierung, Bilder usw. erfordern, am besten mit einem RichTextBox-Steuerelement bearbeitet. In der folgenden Tabelle sind die wichtigsten Merkmale von TextBox und RichTextBox zusammengefasst.

Steuerung Rechtschreibprüfung in Echtzeit Kontextmenü Formatierungsbefehle wie ToggleBold (STRG+B) FlowDocument Inhalte wie Bilder, Absätze, Tabellen und so weiter.
TextBox Ja Ja Nein Nein.
RichTextBox Ja Ja Ja (siehe RichTextBox Overview) Ja (siehe RichTextBox Overview)

Hinweis

Obwohl TextBox keine formatierungsbezogenen Bearbeitungsbefehle wie ToggleBold (Strg+B) unterstützt, werden viele grundlegende Befehle wie MoveToLineEnd von beiden Steuerelementen unterstützt. Weitere Informationen finden Sie unter EditingCommands.

Die von TextBox unterstützten Features werden in den folgenden Abschnitten behandelt. Weitere Informationen finden RichTextBoxSie unter "RichTextBox Overview".

Rechtschreibprüfung in Echtzeit

Sie können die Rechtschreibprüfung in Echtzeit in einem TextBox oder RichTextBox aktivieren. Wenn die Rechtschreibprüfung aktiviert ist, wird unter allen falsch geschriebenen Wörtern eine rote Linie angezeigt (siehe Abbildung unten).

Textfeld mit Rechtschreibprüfung

Siehe Aktivieren der Rechtschreibprüfung in einem Textbearbeitungssteuerelement, um zu erfahren, wie man die Rechtschreibprüfung aktiviert.

Kontextmenü

Standardmäßig verfügen sowohl TextBox als auch RichTextBox über ein Kontextmenü, das angezeigt wird, wenn ein Benutzer mit der rechten Maustaste innerhalb des Steuerelements klickt. Mit dem Kontextmenü kann der Benutzer ausschneiden, kopieren oder einfügen (siehe Bild unten).

„TextBox“ mit Kontextmenü

Sie können ein eigenes benutzerdefiniertes Kontextmenü erstellen, um das Standardverhalten außer Kraft zu setzen. Weitere Informationen finden Sie unter Verwenden eines benutzerdefinierten Kontextmenüs mit einem Textfeld.

Erstellen von TextBoxs

Ein TextBox kann eine einzelne Zeile hoch sein oder mehrere Zeilen umfassen. Eine einzelne Zeile TextBox eignet sich am besten für die Eingabe kleiner Textmengen (z. B. "Name", "Telefonnummer" usw. in einem Formular). Das folgende Beispiel zeigt, wie Sie eine einzelne Zeile TextBoxerstellen.

<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 ein TextBox erstellen, mit dem der Benutzer mehrere Textzeilen eingeben kann. Wenn Ihr Formular z. B. nach einer biografischen Skizze des Benutzers gefragt wird, sollten Sie eine TextBox Textzeile verwenden, die mehrere Textzeilen unterstützt. Das folgende Beispiel zeigt, wie Sie mit Extensible Application Markup Language (XAML) ein TextBox Steuerelement 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>

Wenn Sie das TextWrapping Attribut so Wrap festlegen, dass Text in eine neue Zeile umgebrochen wird, wenn der Rand des TextBox Steuerelements erreicht wird, wird das TextBox Steuerelement bei Bedarf automatisch erweitert, um Platz für eine neue Zeile einzuschließen.

Durch das Einstellen des AcceptsReturn-Attributs auf true wird eine neue Zeile eingefügt, wenn die EINGABETASTE betätigt wird, wodurch TextBox erneut automatisch 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, wann Sich Inhalt ändert

In der Regel sollte das TextChanged Ereignis verwendet werden, um zu erkennen, wann immer sich der Text in einem TextBox oder RichTextBox ändert, anstatt KeyDown, wie Sie vielleicht erwarten. Ein Beispiel finden Sie unter Erkennen, wann sich der Text in einer TextBox geändert hat.

Siehe auch