TextBox使用技巧
作者: skydg
在使用Visual Basic開發(fā)應(yīng)用程序時(shí),TextBox控件是最常用的(特別
對(duì)于數(shù)據(jù)庫(kù)程序),以下是筆者在開發(fā)應(yīng)用程序時(shí)的一些技巧,希望對(duì)愛好
VB的朋友有幫助。
1、 限制TextBox只能輸入數(shù)字。
我們只需要判斷KeyAscii是否在48-57之間就可以達(dá)到目的,但我們還會(huì)
要用到退格鍵的,所以必須加上KeyAscii <> 8。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 And KeyAscii < 48 Or KeyAscii > 57 Then
Beep
KeyAscii = 0
End If
End Sub
2、自動(dòng)將輸入的英文轉(zhuǎn)為小寫/大寫。
如果在KeyPress事件里使用UCase$和Lcase$,那么當(dāng)你輸入abc時(shí),Text
Box里的結(jié)果會(huì)是CBA(具體原因這里不多說),我們只好判斷它的KeyAscii,
剛好大寫與小寫之間是相差32,所以……看下面的程序。
注釋:大寫轉(zhuǎn)小寫
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= 65 And KeyAscii <= 90 Then
KeyAscii = KeyAscii + 32
End If
End Sub
注釋:小寫轉(zhuǎn)大寫
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii <= 122 Then
KeyAscii = KeyAscii - 32
End If
End Sub
3、使兩個(gè)TextBox同步的方法。
這種方法怎么解釋呢?第二個(gè)等于第一個(gè)就行了:-)。
Private Sub Text1_KeyPress(KeyAscii As Integer)
Text2=Text1
End Sub
4、按下 Enter 鍵之后,光標(biāo)自動(dòng)移到下一個(gè)控件。
當(dāng)KeyAscii為13(回車)時(shí),Send一個(gè)Tab鍵給它就行了。
Private Sub Text1_KeyPress (KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys “”
KeyAscii = 0
End If
End Sub
5、當(dāng)光標(biāo)移到TextBox時(shí)自動(dòng)選定其中的整串文字。
當(dāng)對(duì)象得到焦點(diǎn)時(shí),從最前面開始選取(SelStart=0),選取的
長(zhǎng)度為文本長(zhǎng)度(Len(Text1))。
Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
End Sub
6、當(dāng)光標(biāo)移到TextBox時(shí)改變其文字顏色。
當(dāng)TextBox得到焦點(diǎn)時(shí)(GotFocus)改變文本顏色,失去焦點(diǎn)時(shí)(
LostFocus)將還原文本顏色,F(xiàn)oreColor是設(shè)置文本的前景色。
注釋:當(dāng)光標(biāo)移到TextBox時(shí)文字設(shè)置為紅色
Private Sub Text1_GotFocus()
Text1.ForeColor = vbRed
End Sub
注釋:當(dāng)光標(biāo)移出TextBox時(shí)文字設(shè)置為黑色
Private Sub Text1_LostFocus()
Text1.ForeColor = vbBlack
End Sub
以上代碼只要將Text1.ForeColor改為Text1.BackColor即可改變TextBox
的背景色。
我補(bǔ)充一些:
在使用textbox的時(shí)候,我喜歡把它的lock屬性設(shè)為true,所有textbox里顯示的內(nèi)容都是在程序里控制設(shè)定的,這樣的好處是利于控制,而且應(yīng)用到passWord上,只要判斷輸入字符的多少,讓文本框按數(shù)量顯示星號(hào),真正的輸入仍然存在變量里,就比用textbox.passwordchar要好
聯(lián)系客服