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