Поделиться через


Общие сведения о TextBox

Обновлен: Ноябрь 2007

Класс TextBox позволяет отобразить или отредактировать неформатированный текст. Часто TextBox используется для изменения неформатированного текста в форме. Например, форма запроса имени пользователя, номера телефона и т.д может использовать для ввода текста элемент управления TextBox. В этом разделе представляется класс TextBox и приводятся примеры его использования в Язык XAML (Extensible Application Markup Language) и C#.

В этом разделе содержатся следующие подразделы.

  • Textbox или RichTextBox?
  • Создание элемента TextBox
  • Определение изменения содержимого
  • Связанные разделы

Textbox или RichTextBox?

Элементы управления TextBox и RichTextBox позволяют пользователям вводить текст, но они используются для различных сценариев. Для TextBox требуется меньших системных затрат, чем для RichTextBox, поэтому он идеально подходит, если требуется отредактировать только обычный текст (использование в форме). RichTextBox является хорошим выбором при необходимости изменить форматированный текст, рисунки, таблицы или другие поддерживаемые типы содержимого. Например, редактирование документа, статьи или блога, для которых требуются форматирование, рисунки и т.д., лучше всего выполнять с помощью RichTextBox. В нижеприведенной таблице перечислены основные возможности TextBoxи RichTextBox.

Элемент управления

Проверка орфографии в режиме реального времени

Контекстное меню

Форматирование команд как ToggleBold (Ctr + B)

Содержимое FlowDocument, такое как изображения, абзацы, таблицы и т.д.

TextBox

Да

Да

Нет

Нет

RichTextBox

Да

Да

Да (см. Общие сведения о RichTextBox)

Да (см. Общие сведения о RichTextBox)

Aa969815.alert_note(ru-ru,VS.90).gifПримечание.

Хотя TextBox не поддерживает форматирование, связанное с командами редактирования, такими как ToggleBold (Ctr + B), многие основные команды поддерживаются обоими элементами управления, например MoveToLineEnd. Дополнительные сведения см. в разделе EditingCommands. Также в Пример использования EditingCommands демонстрируются команды редактирования, используемые с TextBox.

Функции, поддерживаемые элементом TextBox, рассматриваются в следующих разделах. Дополнительные сведения о RichTextBox см. в разделе Общие сведения о RichTextBox.

Проверка орфографии в режиме реального времени

В TextBox и RichTextBox можно запустить проверку орфографии в режиме реального времени. При включенной проверке орфографии все неправильно написанные слова подчеркиваются красной линией (см. рисунок).

Textbox с проверкой правописания

Сведения о том, как включить проверку орфографии, см. в разделе Практическое руководство. Включение проверки орфографии в элементе управления редактирования текста.

Контекстное меню

По умолчанию и TextBox, и RichTextBox имеют контекстное меню, которое появляется при щелчке правой кнопкой мыши внутри элемента управления. Контекстное меню предоставляет пользователю возможность вырезания, копирования или вставки (см. рисунок).

TextBox с контекстным меню

Можно создать собственное контекстное меню, чтобы переопределить поведение по умолчанию. Дополнительные сведения см. в разделе Практическое руководство. Использование пользовательского контекстного меню с элементом TextBox.

Создание элемента TextBox

Элемент TextBox может состоять из одной или нескольких строк. Однострочный TextBox лучше всего подходит для ввода небольшого объема обычного текста (такого как «Имя», «Номер телефона» и т.д. в форме). В следующем примере показано, как создать однострочный TextBox.

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

Также можно создать TextBox, позволяющий пользователю вводить несколько строк текста. Например, если форма запрашивает биографические сведения о пользователе, следует использовать TextBox, поддерживающий несколько строк текста. В этом примере показано, как использовать Язык XAML (Extensible Application Markup Language) для определения элемента управления TextBox, который будет автоматически расширяться, чтобы вместить несколько строк текста.

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

Установка для атрибута TextWrapping значения Wrap вызовет перенос вводимого текста на новую строку при достижении края элемента управления TextBox, при необходимости автоматически расширяя элемент управления TextBox, чтобы он включал место для новой строки.

Установка атрибута AcceptsReturn в значение true вызовет вставку новой строки при нажатии клавиши RETURN, при необходимости автоматически расширяя TextBox, чтобы он включал место для новой строки.

Атрибут VerticalScrollBarVisibility добавляет полосу прокрутки в TextBox для просмотра содержимого TextBox, если TextBox превышает размеры рамки или окна, в котором он содержится.

Дополнительные сведения о различных задачах, связанных с использованием TextBox, см. в разделе Разделы руководства, посвященные TextBox.

Определение изменения содержимого

Обычно для обнаружения изменения текста в TextBox или RichTextBox следует использовать событие TextChanged, а не KeyDown, как можно предположить. Пример см. в разделе Практическое руководство. Определение изменения текста в TextBox.

См. также

Задачи

Пример использования EditingCommands

Пример Editing Examiner

Пример Notepad

Основные понятия

Общие сведения о RichTextBox

Другие ресурсы

Разделы руководства, посвященные TextBox