Visual Basic中文本框處理技巧

2010-08-28 10:49:18來(lái)源:西部e網(wǎng)作者:

    在Visual Basic中,文本框(TextBox)是最常用的控件,熟練運(yùn)用文本框是開(kāi)發(fā)出高質(zhì)量的應(yīng)用程序的基礎(chǔ)。筆者在從事應(yīng)用程序開(kāi)發(fā)中,摸索出有關(guān)文本框的應(yīng)用技巧,寫(xiě)出來(lái)與VB愛(ài)好者共享。

  1、設(shè)置只讀文本框

  有些時(shí)候在窗口顯示一段信息,但又不希望用戶去改變它,怎樣實(shí)現(xiàn)文本的只讀呢?首先,我們可以利用標(biāo)簽框(label)的只讀屬性,以標(biāo)簽來(lái)代替文本框以實(shí)現(xiàn)只讀屬性,但也可以用小程序?qū)崿F(xiàn)真正的文本框的只讀。

Sub Text1_KeyPress (keyascii As Integer)
 keyascii = 0
End Sub

  或者也可以用sendkey方法使文本框失去焦點(diǎn),如以下程序:

Sub Text1_KeyDown (KeyCode As Integer, Shift As Integer)
 SendKeys "{tab}"
End Sub

  或者直接設(shè)置控件的屬性來(lái)實(shí)現(xiàn),具體操作如下:

   設(shè)置Text1.Enabled=True,這樣設(shè)置后Text1無(wú)法獲得焦點(diǎn)

   設(shè)置Text1.Locked=True,這樣設(shè)置后Text1可以獲得焦點(diǎn)

  2、限定文本框的輸入內(nèi)容和格式

  以下程序可以實(shí)現(xiàn)限定文本框只能輸入數(shù)字:

Private Sub Text1_KeyPress(KeyAscii As Integer)
 If KeyAscii < Asc(0) Or KeyAscii > Asc(9) Then
  KeyAscii = 0
  MsgBox "請(qǐng)輸入數(shù)字"
 End If
End Sub

  若想限定文本框輸入格式,可以使用VB的FORMAT函數(shù),也可以使用專業(yè)版的屏蔽控件(Masked Edit),通過(guò)設(shè)定屏蔽控件的Mask屬性可以對(duì)文本框的輸入格式作精確控制。

  3、為T(mén)extBox創(chuàng)建快捷鍵

  VB規(guī)定,添加在窗體上的控件均在其Tabindex屬性中記載其加載順序,程序運(yùn)行時(shí)焦點(diǎn)按Tabindex屬性規(guī)定的順序在控件間跳轉(zhuǎn)。而為了簡(jiǎn)化操作,可VB中為任何具有caption的屬性的控制創(chuàng)建快捷鍵,這通過(guò)caption屬性中在想作為快捷鍵的字母前加&號(hào)實(shí)現(xiàn)。但有一個(gè)問(wèn)題值得注意,而類似文本框這樣的控件無(wú)caption這樣的屬性,這時(shí)可將標(biāo)簽與文本框同時(shí)使用。為lable創(chuàng)建快捷鍵,標(biāo)簽Tabindex屬性設(shè)置比文本框小1,又因?yàn)閘abel不能接收按點(diǎn),焦點(diǎn)會(huì)自動(dòng)跳至文本框。這相當(dāng)于為文本框創(chuàng)建了快捷鍵。具體步驟如下:

 。1)首先繪制標(biāo)簽,再繪制文本框。或隨意繪制各種控制,將標(biāo)簽Tabindex屬性設(shè)置比文本框小1

  (2)在標(biāo)簽的caption屬性中使用“&”號(hào)設(shè)定快捷鍵

  這樣就相當(dāng)于為文本框設(shè)定了快捷鍵,當(dāng)你按下標(biāo)簽框的快捷鍵時(shí),焦點(diǎn)就會(huì)跳至文本框上。

  4、在設(shè)計(jì)時(shí)實(shí)現(xiàn)文本框換行

  對(duì)于文本框,在設(shè)計(jì)屬性窗口不能輸入換行符,但可以再程序執(zhí)行時(shí)用代碼來(lái)?yè)Q行,即使用ASCII字符的13和10,如下列小程序就可將兩行文本放入文本框:

Sub form_load( )
 NL=chr(13)+chr(10)
 text1.text=“my name is”& NL &“l(fā)iu qiang”
End sub

  5、創(chuàng)建口令文本框

  創(chuàng)建口令文本框可用設(shè)置屬性的方法,也可以通過(guò)調(diào)用WINDOWS的API應(yīng)用函數(shù)接口來(lái)實(shí)現(xiàn)。首先,文本框的屬性Passwordchar和maxlength可用來(lái)設(shè)置口令框。其中Passwordchar指定文本框顯示的字符,如指定“*”,則在文本框內(nèi)顯示“*”,Maxlength確定文本框中能輸入幾個(gè)字符。超過(guò)Maxlength以后,文本框發(fā)出警告聲,不能接收更多的字符。若使用WINDOWS應(yīng)用函數(shù)接口,可用GetWindowLong、SetWindowsLong和SendMessage等接口函數(shù)來(lái)實(shí)現(xiàn),有興趣的讀者可查閱Windows API函數(shù)手冊(cè)或VB的聯(lián)機(jī)幫助文件,這里就不一一贅述了。
關(guān)鍵詞:VisualBasic

贊助商鏈接: