TextBox — Przegląd

Klasa TextBox umożliwia wyświetlanie lub edytowanie niesformatowanych tekstu. Typowym zastosowaniem elementu TextBox jest edytowanie niesformatowanych tekstu w formularzu. Na przykład formularz z prośbą o podanie nazwy użytkownika, numeru telefonu itp. będzie używać TextBox kontrolek do wprowadzania tekstu. W tym temacie przedstawiono klasę TextBox i przedstawiono przykłady użycia jej w języku XAML (Extensible Application Markup Language) i C#.

TextBox czy RichTextBox?

Zarówno TextBox użytkownicy mogą wprowadzać tekst, jak i RichTextBox zezwalać na wprowadzanie tekstu, ale te dwie kontrolki są używane w różnych scenariuszach. Element TextBox wymaga mniejszej ilości zasobów systemowych, więc jest idealnym rozwiązaniem RichTextBox , gdy trzeba edytować tylko zwykły tekst (tj. użycie w formularzu). Jest RichTextBox to lepszy wybór, jeśli jest to konieczne, aby użytkownik edytował sformatowany tekst, obrazy, tabele lub inną obsługiwaną zawartość. Na przykład edytowanie dokumentu, artykułu lub bloga wymagającego formatowania, obrazów itp. jest najlepiej realizowane przy użyciu elementu RichTextBox. Poniższa tabela zawiera podsumowanie podstawowych funkcji i TextBoxRichTextBox.

Kontrolka Sprawdzanie pisowni w czasie rzeczywistym Menu kontekstowe Polecenia formatowania, takie jak ToggleBold (Ctr+B) FlowDocument zawartość, na przykład obrazy, akapity, tabele itp.
TextBox Tak Tak Nie. Nie
RichTextBox Tak Tak Tak (zobacz Omówienie richTextBox) Tak (zobacz Omówienie richTextBox)

Uwaga

Mimo że TextBox nie obsługuje formatowania powiązanych poleceń edycji, takich jak ToggleBold (Ctr+B), wiele podstawowych poleceń jest obsługiwanych przez obie kontrolki, takie jak MoveToLineEnd. Aby uzyskać więcej informacji, zobacz EditingCommands.

Funkcje obsługiwane przez TextBox usługę zostały omówione w poniższych sekcjach. Aby uzyskać więcej informacji na temat RichTextBoxprogramu , zobacz RichTextBox Overview (Omówienie kontrolki RichTextBox).

Sprawdzanie pisowni w czasie rzeczywistym

Możesz włączyć sprawdzanie pisowni w czasie rzeczywistym w elemecie TextBox lub RichTextBox. Po włączeniu sprawdzania pisowni czerwona linia pojawia się pod dowolnymi błędnie napisanymi słowami (patrz obraz poniżej).

Textbox with spell-checking

Zobacz Włączanie sprawdzania pisowni w kontrolce edycji tekstu, aby dowiedzieć się, jak włączyć sprawdzanie pisowni.

Menu kontekstowe

Domyślnie zarówno, jak TextBox i RichTextBox ma menu kontekstowe, które jest wyświetlane, gdy użytkownik kliknie prawym przyciskiem myszy wewnątrz kontrolki. Menu kontekstowe umożliwia użytkownikowi wycinanie, kopiowanie lub wklejanie (patrz obraz poniżej).

TextBox with context menu

Możesz utworzyć własne niestandardowe menu kontekstowe, aby zastąpić domyślne zachowanie. Aby uzyskać więcej informacji, zobacz Używanie niestandardowego menu kontekstowego z polem tekstowym .

Tworzenie skrzynek tekstowych

Może TextBox być jedną linią w wysokości lub składać się z wielu wierszy. Pojedynczy wiersz TextBox najlepiej nadaje się do wprowadzania małych ilości zwykłego tekstu (np. "Name", "Telefon Number" itp. w formularzu). W poniższym przykładzie pokazano, jak utworzyć pojedynczy wiersz TextBox.

<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>

Można również utworzyć obiekt TextBox , który umożliwia użytkownikowi wprowadzanie wielu wierszy tekstu. Jeśli na przykład formularz poprosił o szkic biograficzny użytkownika, należy użyć obiektu TextBox obsługującego wiele wierszy tekstu. W poniższym przykładzie pokazano, jak za pomocą języka XAML (Extensible Application Markup Language) zdefiniować kontrolkę TextBox , która automatycznie rozszerza się w celu uwzględnienia wielu wierszy tekstu.

<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>

Ustawienie atrybutu TextWrappingWrap powoduje zawijanie tekstu do nowego wiersza po osiągnięciu krawędzi TextBox kontrolki, automatyczne rozszerzanie TextBox kontrolki w celu uwzględnienia miejsca dla nowego wiersza, w razie potrzeby.

Ustawienie atrybutu AcceptsReturn powoduje true , że nowy wiersz zostanie wstawiony po naciśnięciu klawisza RETURN, po raz kolejny automatycznie rozwijając TextBox pole do uwzględnienia miejsca dla nowego wiersza, w razie potrzeby.

Atrybut VerticalScrollBarVisibility dodaje pasek przewijania do TextBoxelementu , dzięki czemu zawartość TextBox obiektu można przewijać, jeśli TextBox rozszerza się poza rozmiar ramy lub okna, który go otacza.

Aby uzyskać więcej informacji na temat różnych zadań skojarzonych z używaniem elementu TextBox, zobacz Tematy porad.

Wykrywanie zmian zawartości

TextChanged Zwykle zdarzenie powinno być używane do wykrywania za każdym razem, gdy tekst w elemecie TextBox lub RichTextBox zmienia się, a następnieKeyDown, jak można się spodziewać. Zobacz Wykrywanie, kiedy tekst w polem tekstowym uległ zmianie , na przykład.

Zobacz też