一、概述
窗體是VB最重要的對象,用于創(chuàng )建VB應用程序界面或對話(huà)框時(shí)包容程序所需的各種控件對象。一個(gè)VB應用程序至少應包含一個(gè)窗體,最多可包含255個(gè)窗體。
啟動(dòng)VB創(chuàng )建新工程時(shí),VB會(huì )自動(dòng)向新工程中添加一個(gè)名稱(chēng)為“Form1”的標準窗體(見(jiàn)圖2.1),也稱(chēng)為初始窗體,它是用戶(hù)設計程序界面的第一塊“畫(huà)板”。
圖2.1 VB窗體對象
一個(gè)VB應用程序通常需要多個(gè)窗體,要在工程中添加窗體有多種方法,可以用鼠標在工程資源管理器窗口中右擊,然后在彈出菜單中選擇“添加”命令,再在子菜單中選擇“添加窗體”(見(jiàn)圖2.2),也可以選擇“工程”菜單中的“添加窗體”命令項(見(jiàn)圖2.3),還可以單擊工具欄中的“添加窗體”命令按鈕。
圖2.2 添加窗體
圖2.3 添加窗體
二、窗體的屬性
所謂屬性是指對象的特征。VB為窗體對象規定了眾多的屬性,下面介紹窗體的常用屬性以及各屬性的設置方法。
1.窗體的常用屬性
(1)Name:用于設置窗體的名稱(chēng)。對象的名稱(chēng)用于在編寫(xiě)程序代碼時(shí)標識對象,因此程序中的每個(gè)對象都必須有自己的名 稱(chēng)。窗體的命名通過(guò)給該窗體的Name屬性賦值來(lái)完成。給窗體命名時(shí),必須遵循以下規則:一個(gè)窗體名必須以一個(gè)字 母開(kāi)頭,可包含數字和下劃線(xiàn),但不能包含空格和標點(diǎn)符號。窗體名(其他控件對象名同)長(cháng)度不得超過(guò)40個(gè)字符。
(2)Appearance:用于設置在程序運行時(shí)窗體是否以立體效果顯示。該屬性有兩個(gè)取值:0或1,設置為0時(shí),窗體顯示效 果為平面,設置為1時(shí),窗體顯示效果為立體。
(3)BackColor:用于設置窗體的背景色。
(4)Caption:用于設置窗體標題欄中的文本內容。
(5)BorderStyle:用于設置窗體的邊框樣式。
(6)Enabled:用于設置窗體是否有效。設置為T(mén)rue時(shí),程序運行時(shí)窗體可以被操作,即窗體可以響應作用于它的事件, 設置為False時(shí),窗體不可以被操作,而且窗體上的對象也不可以進(jìn)行操作。
(7)Font:用于設置窗體上文本的字體、字型和字號。
(8)ForeColor:用于設置窗體上文本和圖形的前景色。
(9)Moveable:用于設置窗體在程序運行時(shí)能否被移動(dòng)。
(10)Left和Top:用于設置程序運行時(shí)窗體在屏幕上的位置,Left屬性值決定窗體左上角在屏幕上的橫坐標,Top屬性值 決定窗體左上角在屏幕上的的縱坐標。
(11)Height和Width:用于設置程序運行時(shí)窗體在屏幕上的大小(高和寬),Height屬性值決定窗體的高度,Width屬性值 決定窗體的寬度。
(12)Picture:用于設置在窗體上顯示圖形。屬性值應是一個(gè)圖形文件名(含路徑)。(13)StartUpPosition:用于設 置程序運行時(shí)窗體首次出現時(shí)的位置。
2.窗體屬性的設置和改變
窗體屬性的設置和改變通常有兩種方法可采用(其它控件對象同)。一種是在設計時(shí)通過(guò)屬性窗口為其設定各種屬性值;另一種是在程序代碼中設置或改變屬性值。需要特別指出的是:一個(gè)對象不是所有的屬性都可以在設計時(shí)設置,有的屬性只能在代碼中設置,反之不是所有的屬性都可以在代碼中設置,有的屬性只能在設計時(shí)設置。
在程序代碼中設置或改變對象屬性值使用如下賦值表達式:
<對象名>.<屬性名>=屬性值
下面分別演示用兩種方法設置窗體的caption屬性。
設計時(shí)設置代碼中設置三、窗體的方法
窗體的方法是指窗體可以執行的動(dòng)作和行為。下面介紹窗體的常用方法以及如何通過(guò)代碼調用這些方法。
1.窗體的常用方法
(1)Hide:窗體調用該方法將由顯示狀態(tài)變成隱藏狀態(tài)。
(2)Show:窗體調用該方法將由隱藏狀態(tài)變成顯示狀態(tài)。
(3)Move:窗體調用該方法可以進(jìn)行移動(dòng)。
(4)Print:窗體調用該方法可以實(shí)現在窗體上“打印”文本。
(5)Cls:窗體調用該方法將把通過(guò)Print方法“打印”到窗體上的文本清除掉。
2.窗體方法的使用
方法是對象可以執行的動(dòng)作和行為,在VB程序代碼中,對象調用方法的一般格式為:
<對象名>.<方法名>[參數1,參數2,…]
調用方法時(shí),是否需要參數須根據是何方法以及具體的使用情況而定。
下面通過(guò)實(shí)例演示窗體Hide和Show方法的使用以及調用后的效果。
調用方法四、窗體事件
事件是作用于對象上的一種動(dòng)作或行為,也可以理解為是對象能夠識別(也稱(chēng)響應)的一種操作。VB系統為每種對象可以響應哪些事件都預先進(jìn)行了規定,用戶(hù)不可以隨意增加。通過(guò)代碼編輯器窗口,讀者可以非常方便地了解一種對象可以響應哪些事件。在代碼編輯器窗口的“對象列表框”中選定一個(gè)對象后,單擊“事件列表框”右端帶箭頭的按鈕,這時(shí)“事件列表框”下拉列出的就是該對象可以響應的各種事件,圖2.4顯示了窗體對象可以響應的各種事件。
圖2.4 窗體相應的事件
窗體可以響應許多事件,編程時(shí)常用到的有如下事件。
(1)C1ick事件。程序運行時(shí),當用戶(hù)用鼠標左鍵單擊窗體時(shí),引發(fā)該窗體的C1ick事件(也稱(chēng)單擊事件)。
(2)DblClick事件。程序運行時(shí),當用戶(hù)用鼠標左鍵雙擊窗體時(shí),引發(fā)該窗體的DblClick事件(也稱(chēng)雙擊事件)。
(3)Load事件。運行程序,當系統把窗體由外部存儲介質(zhì)裝入內存時(shí),引發(fā)該窗體的Load事件(也稱(chēng)裝載事件)。
(4)Resize事件。程序運行時(shí),當窗體大小被改變時(shí),引發(fā)該窗體的Resize事件。
(5)Activate事件。程序運行時(shí),當窗體變?yōu)楫斍按绑w時(shí),引發(fā)該窗體的Activate事件(也稱(chēng)激活事件)。
(6)Deactivate事件。程序運行時(shí),當A窗體取代B窗體變成當前窗體時(shí),引發(fā)B窗體的Deactivate事件(也稱(chēng)失去激活事件)。
(7)Unload事件。當窗體被從內存中卸載時(shí),引發(fā)該窗體的Unload事件(也稱(chēng)卸載事件)。
當針對一個(gè)對象的事 基本控件
VB預先定義了眾多的控件(類(lèi)),對于這些預先定義的控件,讀者在設計應用程序界面時(shí),可以直接使用,當然讀者也可以按照語(yǔ)法規則自行設計控件。在眾多的控件中有一些控件在設計程序界面時(shí)要經(jīng)常使用,我們稱(chēng)之為基本控件。VB啟動(dòng)以后基本控件會(huì )自動(dòng)出現在VB的控件工具箱(參見(jiàn)圖2.5)中,它們是:標簽、命令按鈕、文本框、列表框、組合框、單選按鈕、復選框、框架、圖像框、圖片框、滾動(dòng)條和定時(shí)器等。
圖2.5 VB控件工具箱
件發(fā)生以后,系統將自動(dòng)執行與之相對應的事件過(guò)程中的程序代碼。
標簽控件(Label)
標簽主要用于在窗體上增加文字說(shuō)明,比如為文本框、列表框等添加標簽文字等,以便程序用戶(hù)能根據標簽文字的提示進(jìn)行正確操作。標簽控件常用的屬性、方法和事件如下:
1.常用屬性
(1)Name:用于設置標簽控件的名稱(chēng)。
(2)Caption:用于設置標簽中的文本內容。
(3)Alignment:用于設置標簽中文本的對齊方式。
(4)AutoSize:用于設置標簽的大小是否根據其中所含文字的多少進(jìn)行自動(dòng)調整。
(5)BackStyle:用于設置標簽對象是否透明。
除了上述屬性以外,標簽還有許多其它屬性,其中BorderStyle、Enabled、ForeColor、Font等,它們的意義和窗體的同名屬性完全相同,在此不再贅述。而Left、Top、Height、Width等和窗體的同名屬性相似,用于確定標簽在窗體中的位置和大小。
2.常用方法
(1)Refresh方法:刷新標簽中的文字內容,使標簽對象中顯示最新的Caption屬性值。
(2)Move:作用和使用方法同窗體對象。
3.事件
標簽對象主要用來(lái)提供文字說(shuō)明,因此盡管可以響應Click、DblClick等事件,但這些事件在程序設計中很少使用。
圖像框控件(Image)
圖像框(Image)和下節將要介紹的圖片框(PictureBox),在程序設計中可用于美化程序界面,也可用于接受或輸出圖像圖形數據,顯示的圖像可以是位圖文件(.bmp)、圖標文件(. ico)、柵圖形文件(.gif)和靜態(tài)圖像文件(.jpg或.jpeg)等。圖像框由控件工具箱中拖放到窗體上后,其外觀(guān)是一個(gè)虛線(xiàn)框。
1.常用屬性
(1)Stretch;用于設置圖像框是否可以伸縮。當屬性值設為T(mén)rue時(shí),圖像框大小不能調整,對象中的圖片會(huì )自動(dòng)伸縮,以適應對象的大小,填滿(mǎn)整個(gè)對象;當屬性值設為False時(shí),對象自動(dòng)調整大小,以適應其中的圖片,而圖片的大小不能改變。
(2)Picture:該屬性的作用和使用方法,可參考窗體對象的同名屬性。
2.常用方法和事件
圖像框的常用方法有Move和Refresh,其作用和調用格式可參考上述相關(guān)控件對象的同名方法,其常用事件與窗體基本相同。
文本框控件(TextBox)
文本框主要用于程序運行時(shí)接收用戶(hù)在框內輸入的信息,或輸出(顯示)程序運行的結果。文本框常用的屬性、方法和事件如下:
1.常用屬性
(1)Name:用于設置文本框對象的名稱(chēng)。
(2)Text:該屬性是文本框最常用和最重要的屬性,用于設置或返回文本框對象中的文本內容。
(3)PasswordChar:當用戶(hù)輸入口令時(shí),通常要求程序界面上不顯示用戶(hù)實(shí)際輸入的字符,而代之以其它符號?! ≡搶傩杂糜谠O置替代符號,例如,輸入口令時(shí),希望顯示“*”以代替實(shí)際輸入的字符,這時(shí)可將文本框的PasswordChar屬性設置為“*”。
(4) MaxLength:用于設置本文本框可接受的字符個(gè)數。
(5)MultiLine:用于設置文本框能否以多行形式顯示文本內容。
(6)ScrollBars:用于設置文本框是否帶有滾動(dòng)條。
(7)Alignment:用于設置文本框中文本的對齊形式。默認值為0,表示文本左對齊;若為1,表示文本右對齊; 若為2,則文本居中
(8)Locked:用于設置文本框是否鎖定。該屬性有True和False兩個(gè)取值,若設置為T(mén)rue,文本框中的文本不可 編輯。
(9)Selstart:用于設置或返回在文本框中用鼠標進(jìn)行拖放以選擇部分文本時(shí)的起始點(diǎn)。
(10)SelLength:用于設置或返回在文本框中所選文本的字符數。
(11)SelText:用于設置或返回在文本框中所選的文本內容。
除上述屬性以外,文本框還有其它許多屬性,其中BorderStyle、Enabled、ForeColor、Backcolor、Font等,它們的意義和窗體的同名屬性完全相同;而Left、Top、Height、Width等和標簽同名屬性相同。
2.常用方法
(1)Refresh方法:刷新文本框中顯示的內容,使文本框對象中將顯示最新的Text屬性值。
(2)SetFocus方法:使文本框獲得焦點(diǎn),也就是成為當前文本框。當文本框成為當前文本框時(shí),框中具有閃動(dòng)的光標,此時(shí)通過(guò)鍵盤(pán)可直接在該文本框中輸入信息。
文本框應用示例3.常用事件
(1)Change事件:當文本框的Text屬性值,即顯示在文本框中的文本內容發(fā)生改變時(shí),引發(fā)本事件。
(2)LostFocus事件:當光標離開(kāi)文本框時(shí),引發(fā)本事件。
(3)GotFocus事件:當文本框成為當前文本框,即獲得光標時(shí),引發(fā)本事件。
(4)KeyPress事件:當文本框為當前文本框,用戶(hù)按下或松開(kāi)鍵盤(pán)上某個(gè)按鍵時(shí),發(fā)生本事件。
(5)Keydown事件:當文本框為當前文本框,用戶(hù)按下鍵盤(pán)上某個(gè)按鍵時(shí),發(fā)生本事件。
(6)Keyup事件:當文本框為當前文本框,用戶(hù)松開(kāi)鍵盤(pán)上某個(gè)按鍵時(shí),發(fā)生本事件。
(7)Click事件:用戶(hù)在文本框中單擊鼠標左鍵時(shí),發(fā)生本事件。
(8)DblClick事件:用戶(hù)在文本框中雙擊鼠標左鍵時(shí),發(fā)生本事件。
命令按鈕控件(CommandButton)
命令按鈕是VB應用程序中經(jīng)常使用的對象,程序運行中要執行一條或一組命令,通常通過(guò)用鼠標單擊命令按鈕來(lái)實(shí)現,當然具體產(chǎn)生何種動(dòng)作要通過(guò)執行相應的事件過(guò)程中的程序代碼來(lái)決定。命令按鈕常用的屬性、方法和事件如下:
1.常用屬性
(1)Caption:用于設置顯示在按鈕上的文字,以提示用戶(hù)單擊該按鈕將執行何種命令。
(2)Cancel:用于設置單擊命令按鈕和按下鍵盤(pán)上的“Esc”按鍵是否等效。
(3)Default:用于設置單擊命令按鈕和按下鍵盤(pán)上的“Enter”按鍵是否等效。
(4)Enabled:用于設置命令按鈕是否有效,即是否可以被操作。當屬性值設為T(mén)rue時(shí),該按鈕處于“活動(dòng)狀態(tài)”,即可以對其進(jìn)行操作;若為False時(shí),該按鈕將變灰,表示處于不可操作狀態(tài)。見(jiàn)圖2.6,按鈕1處于可操作狀態(tài),按鈕2處于不可操作狀態(tài)。
圖2.6 設置Enabled屬性
(5)Style與Picture:用于給命令按鈕表面上添加圖片。當Style屬性設置為0(默認值)時(shí),按鈕表面只能顯示由其Caption屬性規定的文本;Style屬性若設為l,此時(shí)可通過(guò)按鈕的Picture屬性為按鈕表面添加圖片(后述的復選框對象和單選按鈕對象也具有與此相同屬性,到時(shí)不再復述)。除了Picture屬性以外,命令按鈕還有兩個(gè)與圖片有關(guān)的屬性,即DisabledPicture與DownPicture屬性。兩個(gè)屬性分別用于設置按鈕無(wú)效時(shí)與按鈕處于按下?tīng)顟B(tài)時(shí)顯示的圖形。
除上述幾個(gè)十分重要的屬性以外,命令按鈕還有一些其它的屬性,它們的作用和設置方法可以參照窗體的同名屬性。
2.常用方法
(1)SetFocus方法:使命令按鈕將獲得焦點(diǎn),對于獲得焦點(diǎn)的按鈕,程序運行時(shí)按“Enter”鍵等同于用鼠標單擊本按鈕。獲得焦點(diǎn)的按鈕,其四周有一矩形虛線(xiàn)框,參見(jiàn)圖2.6中的“按鈕1”。
3.常用事件
對于命令按鈕來(lái)說(shuō),最基本、也是最重要的事件就是Click,即鼠標單擊。程序運行時(shí),當用戶(hù)用鼠標左鍵單擊該按鈕時(shí),引發(fā)該按鈕的Click事件,同時(shí)驅動(dòng)系統執行與此事件對應的事件過(guò)程(程序代碼段)。
列表框控件(ListBox)
使用應用程序時(shí),經(jīng)常要進(jìn)行按項目統計或查詢(xún)等操作,如果每次操作時(shí)都要在文本框中輸入項目名稱(chēng),再進(jìn)行查詢(xún)或統計,對用戶(hù)來(lái)講會(huì )是一件比較麻煩的事情。使用列表框對象,編程人員可預先在設計時(shí)或通過(guò)程序代碼動(dòng)態(tài)地對有可能使用的項目名稱(chēng)進(jìn)行提前設置,這樣程序運行時(shí),用戶(hù)只需要在列表框中選擇即可。
1.常用屬性
(1)List:用于設置或返回列表框中的列表項。設計時(shí),在屬性設置窗口中可以通過(guò)該屬性向列表框逐一添加列表項,具體操作方法是:?jiǎn)螕粼搶傩杂叶说膸Ъ^按鈕,在彈出的下拉列表框中逐個(gè)輸入列表項,每輸入一項按“Ctrl+Enter”鍵換行,輸入結束按“Enter”鍵,參見(jiàn)圖2.7。運行程序,列表框外觀(guān)如圖2.8所示
圖2.7 設置List屬性
圖2.8 運行時(shí)列表框外觀(guān)
(2)ListCount:用于返回列表框中列表項的數目。
(3)ListIndex:用于返回在列表框中選中的某個(gè)列表項的序號。
(4)Text:用于返回在列表框中選中的列表項的文本內容。
(5)Columns:用于設置列表框的顯示形式。
(6)Sorted:用于設置列表項是否排序。
(7)Selected:用于返回某一個(gè)列表項是否被選中。
2.常用方法
(1)AddItem:調用該方法,可在程序運行時(shí)動(dòng)態(tài)地向列表框中添加列表項。使用格式為:
<對象名>.AddItem 列表項,插入序號
(2)RemoveItem:調用該方法,可在程序運行時(shí)動(dòng)態(tài)地刪除某個(gè)列表項,使用格式為:
<對象名>.RemoveItem 列表項序號
(3)Clear:調用該方法,可在程序運行時(shí)動(dòng)態(tài)刪除列表框中的所有列表項。調用格式如下:
<對象名>.Clear
3.常用事件
列表框可以響應Click和DblClick事件,常用的是Click事件。當用戶(hù)用鼠標在列表框中的某個(gè)列表項上單擊時(shí),引發(fā)該事件。如果用戶(hù)單擊的是列表框的空白處,并不會(huì )引發(fā)該事件。
列表框控件(ListBox)
使用應用程序時(shí),經(jīng)常要進(jìn)行按項目統計或查詢(xún)等操作,如果每次操作時(shí)都要在文本框中輸入項目名稱(chēng),再進(jìn)行查詢(xún)或統計,對用戶(hù)來(lái)講會(huì )是一件比較麻煩的事情。使用列表框對象,編程人員可預先在設計時(shí)或通過(guò)程序代碼動(dòng)態(tài)地對有可能使用的項目名稱(chēng)進(jìn)行提前設置,這樣程序運行時(shí),用戶(hù)只需要在列表框中選擇即可。
1.常用屬性
(1)List:用于設置或返回列表框中的列表項。設計時(shí),在屬性設置窗口中可以通過(guò)該屬性向列表框逐一添加列表項,具體操作方法是:?jiǎn)螕粼搶傩杂叶说膸Ъ^按鈕,在彈出的下拉列表框中逐個(gè)輸入列表項,每輸入一項按“Ctrl+Enter”鍵換行,輸入結束按“Enter”鍵,參見(jiàn)圖2.7。運行程序,列表框外觀(guān)如圖2.8所示
圖2.7 設置List屬性
圖2.8 運行時(shí)列表框外觀(guān)
(2)ListCount:用于返回列表框中列表項的數目。
(3)ListIndex:用于返回在列表框中選中的某個(gè)列表項的序號。
(4)Text:用于返回在列表框中選中的列表項的文本內容。
(5)Columns:用于設置列表框的顯示形式。
(6)Sorted:用于設置列表項是否排序。
(7)Selected:用于返回某一個(gè)列表項是否被選中。
2.常用方法
(1)AddItem:調用該方法,可在程序運行時(shí)動(dòng)態(tài)地向列表框中添加列表項。使用格式為:
<對象名>.AddItem 列表項,插入序號
(2)RemoveItem:調用該方法,可在程序運行時(shí)動(dòng)態(tài)地刪除某個(gè)列表項,使用格式為:
<對象名>.RemoveItem 列表項序號
(3)Clear:調用該方法,可在程序運行時(shí)動(dòng)態(tài)刪除列表框中的所有列表項。調用格式如下:
<對象名>.Clear
3.常用事件
列表框可以響應Click和DblClick事件,常用的是Click事件。當用戶(hù)用鼠標在列表框中的某個(gè)列表項上單擊時(shí),引發(fā)該事件。如果用戶(hù)單擊的是列表框的空白處,并不會(huì )引發(fā)該事件。
列表框控件(ListBox)
使用應用程序時(shí),經(jīng)常要進(jìn)行按項目統計或查詢(xún)等操作,如果每次操作時(shí)都要在文本框中輸入項目名稱(chēng),再進(jìn)行查詢(xún)或統計,對用戶(hù)來(lái)講會(huì )是一件比較麻煩的事情。使用列表框對象,編程人員可預先在設計時(shí)或通過(guò)程序代碼動(dòng)態(tài)地對有可能使用的項目名稱(chēng)進(jìn)行提前設置,這樣程序運行時(shí),用戶(hù)只需要在列表框中選擇即可。
1.常用屬性
(1)List:用于設置或返回列表框中的列表項。設計時(shí),在屬性設置窗口中可以通過(guò)該屬性向列表框逐一添加列表項,具體操作方法是:?jiǎn)螕粼搶傩杂叶说膸Ъ^按鈕,在彈出的下拉列表框中逐個(gè)輸入列表項,每輸入一項按“Ctrl+Enter”鍵換行,輸入結束按“Enter”鍵,參見(jiàn)圖2.7。運行程序,列表框外觀(guān)如圖2.8所示
組合框控件(ComboBox)
組合框是將文本框和列表框的功能融合在一起的一種控件。因此從外觀(guān)上看,它包含列表框和文本框兩個(gè)部分,程序運行時(shí),在列表框中選中的列表項會(huì )自動(dòng)填入文本框。
1.常用屬性
(1)Style:用于設置組合框的外觀(guān)。有“下拉式組合框”、“簡(jiǎn)單組合框”和“下拉列表式組合框”三種
(2)Text:程序運行時(shí),用戶(hù)在列表框中選中的列表項內容或在文本框中輸入的文本內容(第三種外觀(guān)的組合框不能進(jìn)行輸入,只能選擇)。
組合框的其它屬性可參考前面介紹的文本框和列表框。
2.常用方法
列表框的方法都適用用于組合框。
3.常用事件
組合框的事件和組合框的形式有關(guān)。
(1)Change事件:僅適用于“下拉式組合框”和“簡(jiǎn)單組合框”,程序運行時(shí),當在文本框中輸入不同文本內容時(shí),引發(fā)該事件(參考文本框的同名事件)。
(2)Click事件:程序運行時(shí),當用鼠標單擊列表框中的某個(gè)列表項時(shí),引發(fā)該事件。
(3)DblClick事件:僅適用于“簡(jiǎn)單組合框”,當用鼠標雙擊列表框中的某個(gè)列表項時(shí),引發(fā)該事件。“下拉式組合框”和“下拉列表式組合框”,因為鼠標單擊后,下拉列表框要向上折疊,所以不響應雙擊事件。
(4)DropDown事件:僅適用于“下拉式組合框”和“下拉列表式組合框”,程序運行時(shí),當單擊帶向下箭頭的按鈕,列表框下拉展開(kāi)時(shí),引發(fā)該事件。
(5)DropUp事件:僅適用于“下拉式組合框”和“下拉列表式組合框”,程序運行時(shí),當單擊選中某個(gè)列表項,列表框向上折疊時(shí),引發(fā)該事件。
圖2.7 設置List屬性
圖2.8 運行時(shí)列表框外觀(guān)
(2)ListCount:用于返回列表框中列表項的數目。
(3)ListIndex:用于返回在列表框中選中的某個(gè)列表項的序號。
(4)Text:用于返回在列表框中選中的列表項的文本內容。
(5)Columns:用于設置列表框的顯示形式。
(6)Sorted:用于設置列表項是否排序。
(7)Selected:用于返回某一個(gè)列表項是否被選中。
2.常用方法
(1)AddItem:調用該方法,可在程序運行時(shí)動(dòng)態(tài)地向列表框中添加列表項。使用格式為:
<對象名>.AddItem 列表項,插入序號
(2)RemoveItem:調用該方法,可在程序運行時(shí)動(dòng)態(tài)地刪除某個(gè)列表項,使用格式為:
<對象名>.RemoveItem 列表項序號
(3)Clear:調用該方法,可在程序運行時(shí)動(dòng)態(tài)刪除列表框中的所有列表項。調用格式如下:
<對象名>.Clear
3.常用事件
列表框可以響應Click和DblClick事件,常用的是Click事件。當用戶(hù)用鼠標在列表框中的某個(gè)列表項上單擊時(shí),引發(fā)該事件。如果用戶(hù)單擊的是列表框的空白處,并不會(huì )引發(fā)該事件。
圖片框控件(PictureBox)
和圖像框相比,圖片框象除了可以接受和輸出一般圖形以外,還可用于創(chuàng )建動(dòng)畫(huà)圖形,另外圖片框對象支持Print方法,可以在對象中輸出文本。和窗體對象一樣,圖片框也屬于容器對象,因此在對象中還可以放置其它控件對象。圖片框被拖放到窗體上后,其外觀(guān)是一個(gè)畫(huà)框。
1.常用屬性
(1)AutoSize:用于設置圖片框是否自動(dòng)調整大小。當屬性值設為T(mén)rue時(shí),圖片框會(huì )根據圖片大小,自動(dòng)調整大小以 適應所裝載的圖片。
(2)Picture:該屬性的作用和使用方法,可參考窗體的同名屬性
2.常用方法和事件
與圖像框相比,圖片框除了可以調用Move和Refresh方法以外,還支持Print方法,有關(guān)該方法的調用可參考窗體的同名方法。圖片框的常用事件與窗體基本相同。
單選按鈕控件(OptionButton)
使用應用程序時(shí),經(jīng)常要進(jìn)行按預先給定的條件輸入、統計、查詢(xún)和顯示等操作。如果條件組中的各條件相互之間是排斥的,可使用單選按鈕(OptionButton)來(lái)實(shí)現。如果程序界面上不止一個(gè)單選條件組時(shí),應使用容器控件(通常使用框架(Frame))將組與組區分開(kāi)來(lái)。
單選按鈕(OptionButton)在程序運行時(shí),其外觀(guān)有兩種形式:一種是選中狀態(tài),另一種是未選中狀態(tài)。圖2.10中“18號”按鈕處于選中狀態(tài),“16號”和“20號”都處于未選中狀態(tài)。
圖2.10 單選按鈕的兩種外觀(guān)
(1)Caption屬性:用于設置按鈕上的文字內容。圖2.10中的“16號”、“18號”和“20號”等文字內容就分別是通過(guò)三個(gè)單選按鈕的Caption屬性進(jìn)行設置的,即分別是三個(gè)按鈕的Caption屬性值。
(2)Alignment屬性:用于設置按鈕上文字的對齊方式。
(3)Style、DisabledPicture、DownPicture和Picture屬性:作用和使用方法與命令按鈕相同。
(4)Value屬性:用于判斷按鈕是否處于被選中狀態(tài)。該屬性有True和False兩個(gè)取值,程序運行時(shí),選中某個(gè)單選按鈕,則該按鈕的Value屬性值為T(mén)rue,否則為False。
除上述屬性以外,單選按鈕還有許多其它屬性,其作用和用法可參考其它控件的同名屬性。
單選按鈕的常用方法有Move、Refresh和Setfocus,其調用方法可參考標簽和命令按鈕對象的同名方法。
單選按鈕最常用的事件為Click事件,程序運行時(shí),用鼠標單擊單選按鈕時(shí),引發(fā)該事件。單擊單選按鈕時(shí),如果該按鈕原來(lái)處于未選中狀態(tài),單擊后將變成選中狀態(tài),同時(shí)同組的其它按鈕將變成未選中狀態(tài);如果該按鈕原來(lái)已處于選中狀態(tài),單擊后仍將保持選中狀態(tài)。
復選框控件(CheckBox)
使用應用程序時(shí),經(jīng)常要進(jìn)行按預先給定的條件輸入、統計、查詢(xún)和顯示等操作,如果條件組中的各條件相互之間是可以組合的,可使用復選框(CheckBox)。當程序界面上不止一個(gè)復選條件組時(shí),盡管組與組之間不會(huì )產(chǎn)生什么影響,但從界面美觀(guān)的角度出發(fā),也應使用框架(Frame)將組與組區分開(kāi)來(lái)。
復選框(CheckBox)在程序運行時(shí),其外觀(guān)有兩種形式:一種是選中狀態(tài),另一種是未選中狀態(tài)。參見(jiàn)圖2.11,圖中“必修課程”復選框處于選中狀態(tài),“選修課程”復選框處于未選中狀態(tài)。
圖2.11 復選框的兩種外觀(guān)
(1)Caption屬性:用于設置復選框中的文字內容。圖2.11中的“必修課程”和“選修課程”等文字內容就分別是通過(guò)兩個(gè)復選框的Caption屬性進(jìn)行設置的,即分別是兩個(gè)復選框的Caption屬性值。
(2)Alignment屬性:用于設置復選框中文字的對齊方式。
(3)Style、DisabledPicture、DownPicture和Picture屬性:作用和使用方法與命令按鈕相同。
(4)Value屬性:用于判斷復選框是否處于被選中狀態(tài)。
除上述屬性以外,復選框還有許多其它屬性,其作用和用法可參考其它控件的同名屬性。
復選框的常用方法有Move、Refresh和Setfocus,其調用方法可參單選按鈕對象的同名方法。
復選框最常用的事件為Click事件,程序運行時(shí),用鼠標單擊復選框時(shí),引發(fā)該事件。單擊復選框時(shí),如果該復選框原來(lái)處于未選中狀態(tài),單擊后將變成選中狀態(tài),同組的其它復選框仍保持原來(lái)的狀態(tài);如果該按鈕原來(lái)處于選中狀態(tài),單擊后將變成未選中狀態(tài),同組的其它復選框仍保持原來(lái)的狀態(tài)。注意和單選按鈕的區別。 滾動(dòng)條控件(HscrollBar和VscrollBar)
利用滾動(dòng)條控件可對與其相關(guān)聯(lián)的其它控件中所顯示的內容的位置進(jìn)行調整。VB的控件工具箱中有水平滾動(dòng)條(HscrollBar)和垂直滾動(dòng)條(VscrollBar)兩種形式的控件。水平滾動(dòng)條進(jìn)行水平方向的調整,垂直滾動(dòng)條進(jìn)行垂直方向的調整,兩種滾動(dòng)條也可同時(shí)使用。兩種滾動(dòng)條除外觀(guān)不同,作用和使用方法是相同的,下面將以水平滾動(dòng)條為例,介紹滾動(dòng)條的屬性、方法和事件。
程序運行時(shí),水平滾動(dòng)條在窗體上的外觀(guān)如圖2.12所示,滾動(dòng)條兩端帶箭頭的按鈕稱(chēng)之為滾動(dòng)箭頭,兩滾動(dòng)箭頭之間的部分稱(chēng)之為滾動(dòng)框,滾動(dòng)框中可以左右移動(dòng)的滑塊稱(chēng)之為滾動(dòng)滑塊。小幅度的調整通常通過(guò)單擊或連續單擊滾動(dòng)箭頭來(lái)實(shí)現,如果要進(jìn)行較大幅度的調整,可用鼠標單擊或連續單擊滾動(dòng)框,如果要進(jìn)行快速調整,則可拖動(dòng)滾動(dòng)滑塊。
圖2.12 水平滾動(dòng)條的外觀(guān)和結構
1.常用屬性
(1)Value屬性:返回一個(gè)與滾動(dòng)滑塊位置對應的值。在程序代碼中,將該屬性值和其它容器中的對象的坐標有機地聯(lián)系在一起,即可實(shí)現容器中的對象位置的調整。
(2)Min屬性:規定Value屬性的最小取值,即當滾動(dòng)滑塊在滾動(dòng)框最左端時(shí),Value屬性的值。
(3)Max屬性:規定Value屬性的最大取值,即當滾動(dòng)滑塊在滾動(dòng)框最右端時(shí),Value屬性的值。
(4)SmallChange屬性:用于設置程序運行時(shí),鼠標單擊滾動(dòng)箭頭一次,Value屬性值的改變量。
(5)LargeChange屬性:用于設置程序運行時(shí),鼠標單擊滾動(dòng)框一次,Value屬性值的改變量。
注意:Value屬性值的變化范圍不能超出由Min屬性和Max屬性?xún)烧咭幎ǖ姆秶?div style="height:15px;">
用Scroll事件可以跟蹤滾動(dòng)條的Value屬性的動(dòng)態(tài)值,而用Change事件獲取的是滾動(dòng)條的Value屬性變化后的值。設計程序時(shí),如果希望拖動(dòng)滾動(dòng)滑塊,對象中的文本或圖形即時(shí)跟著(zhù)移動(dòng),可使用Scroll事件;如果希望滾動(dòng)滑塊移動(dòng)后,對象中的文本或圖形位置再發(fā)生改變,則可使用Change事件。
通過(guò)計時(shí)器控件,系統可按設定的時(shí)間間隔有規律地觸發(fā)定時(shí)事件。一個(gè)程序界面上,可根據程序需要,放置多個(gè)計時(shí)器對象,計時(shí)器對象在程序界面上的大小是固定的,不能進(jìn)行調整;運行時(shí),計時(shí)器對象在程序界面上是不可見(jiàn)的。
計時(shí)器對象相當于一個(gè)時(shí)鐘,程序運行時(shí),每經(jīng)過(guò)一個(gè)設定的時(shí)間間隔,該對象就會(huì )引發(fā)一個(gè)計時(shí)事件,因此對于按照時(shí)間間隔規律,需要反復執行的代碼可通過(guò)計時(shí)器引發(fā)計時(shí)事件來(lái)執行。
(2)Enabled屬性:用于設置計時(shí)器對象是否引發(fā)計時(shí)事件。設置為T(mén)rue時(shí),計時(shí)器對象按設定時(shí)間間隔不斷引發(fā)計時(shí)事件,設置為False時(shí),計時(shí)器對象終止引發(fā)計時(shí)事件。
(3)Timer事件:當計時(shí)器對象的Enabled屬性設置為T(mén)rue,Interval屬性設置為非0(大于0)時(shí),計時(shí)器對象每經(jīng)過(guò)一個(gè)設定的時(shí)間間隔,引發(fā)一次該事件。
設計VB應用程序界面時(shí),將對象添加到窗體上僅僅完成了界面設計的基本工作,接下來(lái)還必須對各個(gè)對象的位置、大小、對象間的間距等進(jìn)行調整,對窗體上的所有對象進(jìn)行整體布局,這樣才能設計出美觀(guān)的程序界面。
調整控件對象的位置和大小最簡(jiǎn)單的方法是:先用鼠標單擊要調整的對象,這時(shí)對象周?chē)鷮⒊霈F八個(gè)蘭色小方塊(稱(chēng)為“拖拽柄”),表示該對象處于選中狀態(tài),接下來(lái)如果要移動(dòng)對象,只要將鼠標移至該對象上,按住鼠標將對象拖至目標位置,然后松開(kāi)鼠標即可,如果要調整對象的大小,可將鼠標移到對象相應的“拖拽柄”上,然后按住鼠標進(jìn)行拖放。
除了使用鼠標進(jìn)行調整以外,也可以使用鍵盤(pán)上的“Ctrl”、“Shift”和方向鍵對控件對象的位置和大小進(jìn)行調整。按住“Ctrl”鍵的同時(shí),按下相應的方向鍵可以對對象的位置進(jìn)行調整;按住“Shift”鍵的同時(shí),按下相應的方向鍵可以對對象的大小進(jìn)行調整。
設計界面時(shí)經(jīng)常會(huì )遇到需要同時(shí)對一組對象的位置和大小進(jìn)行調整的情況,這就需要在窗體上同時(shí)選中多個(gè)對象,具體操作方法是:按住“Shift”鍵的同時(shí),用鼠標逐個(gè)單擊需要調整的對象。一組對象同時(shí)被選中后,接下來(lái)的調整方法同單個(gè)對象。
設計界面時(shí)要求一組對象高度相同或寬度相同或兩者都相同的的情況也會(huì )經(jīng)常遇到,如果采用逐個(gè)處理的方法將既費時(shí)又費力,最為簡(jiǎn)單的方法是使用菜單命令進(jìn)行整體處理。具體操作步驟是:首先在窗體上同時(shí)選中要進(jìn)行處理的各個(gè)對象,然后再執行相關(guān)的菜單命令,參見(jiàn)圖2.13。
設計界面時(shí)經(jīng)常需要對一組對象進(jìn)行對齊處理。對齊方式有左對齊、右對齊、中間對齊、頂端對齊等多種方式。遇到這種情況,最為簡(jiǎn)單的方法是使用菜單命令進(jìn)行整體處理。具體操作步驟是:首先在窗體上同時(shí)選中要進(jìn)行對齊處理的各個(gè)對象,然后再執行相關(guān)的菜單命令,參見(jiàn)圖2.14。
不管界面上的對象是橫向排列,還是縱向排列,合理調整對象之間的間距,對于界面的美觀(guān)都是非常必要的。具體操作時(shí),應首先同時(shí)選中需要調整的一組對象,然后對于縱向排列的一組對象,可通過(guò)執行“格式”菜單中的“垂直間距”子菜單中的相應命令來(lái)調整彼此間的間距(參見(jiàn)圖2.15),對于橫向排列的一組對象,可通過(guò)執行“格式”菜單中的“水平間距”子菜單中的相應命令來(lái)調整彼此間的間距。
A. 拖曳柄 B. 標題欄 C. 工具箱 D. 工程資源管理器
A. Text1對象左邊界距窗體的左邊界800twip,上邊界距窗體的上邊界2000twip
B. Text1對象左邊界距屏幕的左邊界800twip,上邊界距屏幕的上邊界2000twip
A. 默認情況下屬性Visible的值為T(mén)rue
B. 如果設置控件的Visible屬性值為False,則該控件消失
C. Visible的值可設為0或1
D. 設置Visible屬性同設置Enabled屬性的功能是相同的,都是使控件處于失效狀態(tài)
A. Refresh B. SetFocus
C. Drag D. Move
A. 復選框 B.單選按鈕 C. 標簽 D. 命令按鈕
A. List1.ListCount B. List1.List(ListCount-1)
C. List1.ListIndex D. List1.List(List1.ListIndex)
A. Max B. Min C. Max和Min之間 D. Max和Min之外