共用方式為


TextBox 概觀

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

TextBox 或 RichTextBox?

TextBox 和 RichTextBox 都允許使用者輸入文字,但這兩個控制項適用於不同的案例。 TextBox 需要的系統資源比 RichTextBox 少,因此在僅需編輯純文本時是理想的選擇(例如,用於表單)。 在需要使用者編輯格式化文本、圖像、表格或其他支援的內容時,RichTextBox 是更好的選擇。 例如,編輯需要格式化或影像等的文件、文章或部落格時,最好使用 RichTextBox 來完成。 下表概述了 TextBoxRichTextBox 的主要功能。

管理 即時拼字檢查 內容選單 ToggleBold(Ctrl+B)這樣的格式命令 FlowDocument內容如影像、段落、表格等。
TextBox 是的 是的 否。
RichTextBox 是的 是的 是 (請參閱 RichTextBox 概觀) 是 (請參閱 RichTextBox 概觀)

備註

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

TextBox 支援的功能在下列各節中都有介紹。 如需有關 RichTextBox 的詳細資訊,請參閱 RichTextBox 概觀。

即時拼字檢查

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

Textbox with spell-checking具有拼字檢查功能的文字方塊Editing_TextBox_with_Spellchecking

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

內容選單

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

具有操作功能表的文字框計編輯文字框與操作功能表

您可以建立自訂滑鼠右鍵選單來取代預設行為。 如需詳細資訊,請參閱搭配 TextBox 使用自訂操作功能表

建立多個 TextBox

TextBox 可以是單行高度,或由多行組成。 單行 TextBox 最適合用於輸入少量的純文字(例如,表單中的「名稱」、「電話號碼」等)。 下列範例顯示如何建立單行 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
  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 中的文字變更來獲取範例。

另請參閱