續。。。。。。。。
4. TextBox控件
文本框的主要用途是讓用戶輸入文本,用戶可以輸入任何字符,也可以限制用戶只輸入數值。
.NET Framework內置了兩個基本控件來提取用戶輸入的文本:TextBox和RichTextBox。這兩個控件都派生于TextBoxBase,而TextBoxBase又派生于Control。
TextBoxBase提供了在文本框中處理文本的基本能力,例如選擇文本、剪切和從剪切板上粘帖,以及許多事情。
4.1 TextBox控件的屬性
常用屬性:
- CausesValidation:當控件的這個屬性為true,且該控件獲得了焦點時,會引發兩個事件:Validating和Validated。可以處理這些事件,以便驗證失去焦點的控件中數據的有效性。
- CharacterCasing:這個值表示TextBox是否會改變輸入的文本的大小寫。可能的值有:
- Lower:文本框中輸入的所有文本都轉換為小寫;
- Normal:不變;
- Upper:都轉換為大寫。
- MaxLength:這個值指定輸入到TextBox中的文本的最大字符長度。如果設為0,表示最大字符長度僅受限于可用的內存。
- Multiline:表示該控件是否是一個多行控件。多行控件可以顯示多行文本。
- PasswordChar:指定是否用密碼字符替換在單行文本框中輸入的字符。如果Multiline屬性為true,這個屬性就不起作用。
- ReadOnly:這個Boolean值表示文本是否為只讀。
- ScrollBars:指定多行文本框是否顯示滾動條。
- SelectedText:在文本框中選擇的文本。
- SelectionLength:在文本中選擇的字符數。如果這個值設置得比文本中的字符數大,則控件會把它重新設置為字符總數減去SelectionStart的值。
- SelectionStart:文本框中被選中文本的開頭。
- WordWrap:指定在多行文本框中,如果一行的寬度超出了控件的寬度,其文本是否應自動換行。
4.2 TextBox控件的事件
TextBox提供了以下所示的事件:
- Enter、Leave、Validating、Validated:這4個事件按照列出的順序引發。它們統稱為焦點事件,當控件的焦點發生改變時引發,但有兩個例外:Validating和Validated僅在控件接收了焦點,且其CausesValidation屬性設置為true時引發。接收焦點的控件引發事件的原因是有時即使焦點改變了,我們也不希望驗證控件的有效性。
- KeyDown、KeyPress、KeyUp:這三個事件稱為“鍵事件”。它們可以監視和改變輸入到控件中的內容。KeyDown和KeyUp接收與所按下鍵對應的鍵碼,這樣就可以確定是否按下了特殊的鍵Shift或Control和F1。另一方面,KeyPress接收與鍵對應的字符。這表示字母a的值與A的值不同。
- Change:只要文本框的文本發生了改變,就會引發該事件。