TextBox 概觀
類別 TextBox 可讓您顯示或編輯未格式化的文字。 常見的 TextBox 用法是編輯表單中未格式化的文字。 例如,要求使用者名稱、電話號碼等的表單會使用 TextBox 文字輸入的控制項。 本主題介紹 類別, TextBox 並提供如何在 Extensible Application Markup Language (XAML) 和 C# 中使用它的範例。
TextBox 或 RichTextBox?
TextBox和 RichTextBox 都允許使用者輸入文字,但兩個控制項用於不同的案例。 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 概觀 。
即時拼字檢查
您可以在 或 RichTextBox 中 TextBox 啟用即時拼字檢查。 啟用拼字檢查時,拼錯的文字下方會出現紅色線條 (請見下圖)。
若要了解如何啟用拼字檢查,請參閱在文字編輯控制項中啟用拼字檢查。
操作功能表
根據預設, TextBox 和 RichTextBox 都有一個操作功能表,當使用者在控制項內按一下滑鼠右鍵時會出現。 操作功能表可以讓使用者剪下、複製或貼上 (請見下圖)。
您可以建立自訂操作功能表來覆寫預設行為。 如需詳細資訊,請參閱搭配 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 中的文字變更。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應