共用方式為


TextBox 概觀

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

TextBox 或 RichTextBox?

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

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

注意

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

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

即時拼字檢查

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

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

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

操作功能表

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

TextBox with context menu具有操作功能表的 TextBoxEditing_TextBox_with_Context_Menu

您可以建立自訂操作功能表來覆寫預設行為。 如需詳細資訊,請參閱搭配 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 控制項。

<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 中的文字變更

另請參閱