Share via


TextBox 概觀

類別 TextBox 可讓您顯示或編輯未格式化的文字。 常見的 TextBox 用法是編輯表單中未格式化的文字。 例如,要求使用者名稱、電話號碼等的表單會使用 TextBox 文字輸入的控制項。 本主題介紹 類別, TextBox 並提供如何在 Extensible Application Markup Language (XAML) 和 C# 中使用它的範例。

TextBox 或 RichTextBox?

TextBoxRichTextBox 都允許使用者輸入文字,但兩個控制項用於不同的案例。 TextBox需要較少的系統資源, RichTextBox 因此只有在需要編輯純文字時才理想(也就是表單的使用方式)。 RichTextBox當使用者編輯格式化的文字、影像、資料表或其他支援的內容時,是較佳的選擇。 例如,編輯需要格式化、影像等的檔、文章或部落格,最好使用 RichTextBox 來完成。 下表摘要說明 和 RichTextBox 的主要功能 TextBox

控制 即時拼字檢查 操作功能表 格式化命令,例如 ToggleBold (Ctr+B) FlowDocument 影像、段落、資料表等內容。
TextBox Yes No 否。
RichTextBox Yes Yes 是 (請參閱 RichTextBox 概觀) 是 (請參閱 RichTextBox 概觀)

注意

雖然 TextBox 不支援格式化相關的編輯命令,例如 ToggleBold (Ctr+B),但兩個控制項都支援許多基本命令,例如 MoveToLineEnd 。 如需相關資訊,請參閱 EditingCommands

下列各節涵蓋所 TextBox 支援的功能。 如需 的詳細資訊 RichTextBox ,請參閱 RichTextBox 概觀

即時拼字檢查

您可以在 或 RichTextBoxTextBox 啟用即時拼字檢查。 啟用拼字檢查時,拼錯的文字下方會出現紅色線條 (請見下圖)。

Textbox with spell-checking

若要了解如何啟用拼字檢查,請參閱在文字編輯控制項中啟用拼字檢查

操作功能表

根據預設, TextBoxRichTextBox 都有一個操作功能表,當使用者在控制項內按一下滑鼠右鍵時會出現。 操作功能表可以讓使用者剪下、複製或貼上 (請見下圖)。

TextBox with context menu

您可以建立自訂操作功能表來覆寫預設行為。 如需詳細資訊,請參閱搭配 TextBox 使用自訂操作功能表

建立 TextBox

TextBox可以是高度的單行,或組成多行。 單行 TextBox 最適合用於以表單輸入少量純文字(例如「Name」、「電話 Number」 等)。 下列範例示範如何建立單行 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>

您也可以建立 TextBox ,讓使用者輸入多行文字。 例如,如果您的表單要求使用者傳記素描,您會想要使用 TextBox 支援多行文字的 。 下列範例示範如何使用 Extensible Application Markup Language (XAML) 來定義 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 相關聯之不同工作的詳細資訊,請參閱 操作說明主題

偵測內容變更

通常 TextChanged 事件應該用來偵測每當 或 中的 TextBoxRichTextBox 文字變更時,而不是 KeyDown 如您所預期。 如需範例,請參閱偵測 TextBox 中的文字變更

另請參閱