續(xù)。。。。。。。。

 

4. TextBox控件

文本框的主要用途是讓用戶輸入文本,用戶可以輸入任何字符,也可以限制用戶只輸入數(shù)值。

.NET Framework內(nèi)置了兩個基本控件來提取用戶輸入的文本:TextBox和RichTextBox。這兩個控件都派生于TextBoxBase,而TextBoxBase又派生于Control。

TextBoxBase提供了在文本框中處理文本的基本能力,例如選擇文本、剪切和從剪切板上粘帖,以及許多事情。

4.1 TextBox控件的屬性

常用屬性:

  • CausesValidation:當(dāng)控件的這個屬性為true,且該控件獲得了焦點時,會引發(fā)兩個事件:Validating和Validated??梢蕴幚磉@些事件,以便驗證失去焦點的控件中數(shù)據(jù)的有效性。
  • CharacterCasing:這個值表示TextBox是否會改變輸入的文本的大小寫??赡艿闹涤校?/li>
    1. Lower:文本框中輸入的所有文本都轉(zhuǎn)換為小寫;
    2. Normal:不變;
    3. Upper:都轉(zhuǎn)換為大寫。
  • MaxLength:這個值指定輸入到TextBox中的文本的最大字符長度。如果設(shè)為0,表示最大字符長度僅受限于可用的內(nèi)存。
  • Multiline:表示該控件是否是一個多行控件。多行控件可以顯示多行文本。
  • PasswordChar:指定是否用密碼字符替換在單行文本框中輸入的字符。如果Multiline屬性為true,這個屬性就不起作用。
  • ReadOnly:這個Boolean值表示文本是否為只讀。
  • ScrollBars:指定多行文本框是否顯示滾動條。
  • SelectedText:在文本框中選擇的文本。
  • SelectionLength:在文本中選擇的字符數(shù)。如果這個值設(shè)置得比文本中的字符數(shù)大,則控件會把它重新設(shè)置為字符總數(shù)減去SelectionStart的值。
  • SelectionStart:文本框中被選中文本的開頭。
  • WordWrap:指定在多行文本框中,如果一行的寬度超出了控件的寬度,其文本是否應(yīng)自動換行。
 

4.2 TextBox控件的事件

TextBox提供了以下所示的事件:

  • Enter、Leave、Validating、Validated:這4個事件按照列出的順序引發(fā)。它們統(tǒng)稱為焦點事件,當(dāng)控件的焦點發(fā)生改變時引發(fā),但有兩個例外:Validating和Validated僅在控件接收了焦點,且其CausesValidation屬性設(shè)置為true時引發(fā)。接收焦點的控件引發(fā)事件的原因是有時即使焦點改變了,我們也不希望驗證控件的有效性。
  • KeyDown、KeyPress、KeyUp:這三個事件稱為“鍵事件”。它們可以監(jiān)視和改變輸入到控件中的內(nèi)容。KeyDown和KeyUp接收與所按下鍵對應(yīng)的鍵碼,這樣就可以確定是否按下了特殊的鍵Shift或Control和F1。另一方面,KeyPress接收與鍵對應(yīng)的字符。這表示字母a的值與A的值不同。
  • Change:只要文本框的文本發(fā)生了改變,就會引發(fā)該事件。