第二章 VB的界面設(shè)計(jì)_第1頁(yè)
第二章 VB的界面設(shè)計(jì)_第2頁(yè)
第二章 VB的界面設(shè)計(jì)_第3頁(yè)
第二章 VB的界面設(shè)計(jì)_第4頁(yè)
第二章 VB的界面設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第二章 VB的界面設(shè)計(jì)2.1 VB用戶界面設(shè)計(jì)基礎(chǔ)1. 概述 界面的設(shè)計(jì)有兩步:先繪制控件,然后確定控件屬性。 繪制控件:在工具箱里單擊想畫的控件,在窗體里按下鼠標(biāo)并拖曳,然后松開鼠標(biāo)即可。確定屬性:先選中控件,然后按F4鍵或單擊工具欄上的屬性窗口進(jìn)入屬性(Properties)窗口,再在屬性窗口中找到要設(shè)置的屬性并進(jìn)行設(shè)置。2. 常用屬性的設(shè)置(1)Name屬性 對(duì)象都有名字,計(jì)算機(jī)把名字看成對(duì)象于對(duì)象之間的根本差異,因此在同一窗體里不許出現(xiàn)重名的情況(除非這是一個(gè)控件數(shù)組),且名字不得超過40個(gè)字。 在簡(jiǎn)單的程序里,給控件命名不是很必要,完全可以使用控件Name屬性的缺省值。例如Text1

2、。但在有幾十個(gè)控件的復(fù)雜窗體里,就很難區(qū)分它們。所以,VB推薦由三個(gè)小寫字母的前綴和一個(gè)第一個(gè)字母為大寫的描述性單詞組成的名字。例如cmdMyButton是一個(gè)命令按鈕(前綴是cmd)推薦的前綴對(duì)象前綴例子確認(rèn)框(Check Box)chkchkCareerChioce 組合框(Combo Box)cbocboCrimesCommitted 命令鈕(Command Button)cmdcmdExit 數(shù)據(jù)庫(kù)控件(Data Control) datdatTopSecretInfo 目錄列表框(Directory List Box)dirdirTree 驅(qū)動(dòng)器列表框(Drive List Box)

3、drvdrvHardDisk 文件列表框(File List Box) filfilDocuments 窗體(Form) frmfrm1040Tax 框架(Frame)frafraGroupButtons 水平滾動(dòng)條(Horizontal Scroll Bar)hsbhsbTemperature 圖形(Image)imgimgPrettyDrawing 標(biāo)簽(Label)lbllblFakeName 線(Line) linlinBorder 列表框(List Box) lstlstCandidates 菜單(Menu)mnumnuHamAndEggs 選項(xiàng)鈕(Option Button) op

4、toptStation101 圖形框(Picture Box) picpicPrettyPicture 幾何圖形(Shape) shpshpUpOrShipOut 文本框(Text Box) txttxtWarning 垂直滾動(dòng)條(Vertical Scroll Bar) vsbvsbMoneyRaised (2)Caption屬性 Caption即標(biāo)題,是可以在對(duì)象外觀上直接看見的文本,可以長(zhǎng)達(dá)255字符,包括空格和標(biāo)點(diǎn)符號(hào),比如一個(gè)叫cmdOk的命令鈕,它的Caption屬性就可以是“Ok”。 注意:并不是所有的對(duì)象都有此屬性,比如文本框、圖片框、線條等就沒有。 為按鈕設(shè)置熱鍵:在設(shè)置Ca

5、ption屬性時(shí),在需要加下劃線的字母前加上 “&” 符號(hào),例如 “&File”,輸出的就是“File”,這樣就可以通過按ALT鍵和標(biāo)題上那個(gè)帶下劃線的字母來選取它了, 不必為此編任何代碼。Name和 caption的比較:1) Name是系統(tǒng)用來識(shí)別對(duì)象的,編程時(shí)需要用它來指代各對(duì)象;Caption是給用戶看的,提示用戶該對(duì)象的作用; 2) Name可以采用系統(tǒng)默認(rèn)的名稱,但Caption應(yīng)該根據(jù)實(shí)際情況改成意義明了的名詞; 3)所有對(duì)象都有Name,但不一定都有Caption; (3)Top,Left屬性 這兩個(gè)屬性決定對(duì)象的位置。只有兩種情況需要在屬性窗口里設(shè)置這兩個(gè)屬性:第一種是用戶沒

6、有鼠標(biāo),第二種是程序員需要十分精確地設(shè)定這兩個(gè)值。當(dāng)選中對(duì)象,單擊并拖曳它的時(shí)候,便在修改這兩個(gè)值了。(4)Height,Width屬性 這兩個(gè)屬性決定了對(duì)象的大小,當(dāng)選中控件時(shí),它周圍出現(xiàn)八個(gè)小黑方塊,把鼠標(biāo)指向這些方塊,鼠標(biāo)指針將變成一個(gè)雙向的箭頭,這時(shí)按下鼠標(biāo)并拖曳它,即可改變控件的大小,也就改變了Height,Width屬性。2.2 創(chuàng)建窗體1. 窗體的屬性(1) 常用屬性簡(jiǎn)介屬性名稱說明Name窗體名稱系統(tǒng)識(shí)別窗體的標(biāo)識(shí)名,一個(gè)窗體名必須以一個(gè)字母開頭,可包含數(shù)字和下劃線,但不能包含空格和標(biāo)點(diǎn)符號(hào)。Caption窗體標(biāo)題出現(xiàn)在窗體標(biāo)題欄中的文本內(nèi)容Icon窗體圖標(biāo)這個(gè)屬性是用戶經(jīng)常要

7、使用的一種屬性。當(dāng)用戶的應(yīng)用程序在工具條上最小化或在Windows桌面上變?yōu)橐粋€(gè)獨(dú)立應(yīng)用程序時(shí),該屬性決定將采用何種圖標(biāo),窗體控制框里的圖標(biāo)也由它決定。BackColor窗體背景色可以從屬性框里彈出調(diào)色板,選擇所需要的顏色ForeColor窗體前景色窗體上打印文字的顏色BorderStyle邊框風(fēng)格這個(gè)屬性決定了窗體邊框的樣式,共有6種屬性值。改變窗體的BordrStyle屬性后,窗體在屏幕上沒有變化,它只在運(yùn)行時(shí)才變?yōu)樗蟮臉幼?。Apearance外形這個(gè)屬性用來決定控件是否采用三維效果ControlBox控件按鈕控件按鈕用來決定是否采用 控件框的屬性,僅在程序運(yùn)行時(shí)才有效。Font字體用

8、來改變?cè)摯绑w上顯示信息的字體、字型和字號(hào),它控制著直接在窗體上打印的文本顯示。Visible可見性該屬性決定窗體是否可見, 默認(rèn)情況下是可見的。錯(cuò)誤地改變其值是很危險(xiǎn)的,窗體會(huì)從眼前消失,WindowState窗體狀態(tài)指定窗體在運(yùn)行時(shí)的三種狀態(tài):正常、最小化、最大化。Enabled活動(dòng)性默認(rèn)值為True,決定窗體能否被訪問。Left、Top、Height、Width左邊距、頂邊距、高度、寬度決定窗體在屏幕上的位置及窗體大小。(2)設(shè)置屬性的方法1)在設(shè)計(jì)態(tài)通過屬性窗口設(shè)置 直接在屬性窗口中選擇或輸入既可。 2)在程序代碼中改變屬性值 代碼中的格式為: 對(duì)象名 . 屬性 = 屬性值 例:Form

9、1.BackColor=RGB(255,0,0)2. 窗體的常用方法(1)Hide方法 用以隱藏 MDIForm 或 Form 對(duì)象,但不能使其卸載。 語(yǔ)法:object.Hide object 所在處代表一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,則帶有焦點(diǎn)的窗體就認(rèn)為是該 object。說明: 隱藏窗體時(shí),它就從屏幕上被刪除,并將其 Visible 屬性設(shè)置為 False。 用戶將無(wú)法訪問隱藏窗體上的控件,但是對(duì)于運(yùn)行中的 Visual Basic 應(yīng)用程序,或?qū)τ谕ㄟ^ DDE 與該應(yīng)用程序通訊的進(jìn)程及對(duì)于 Timer 控件的事件,隱藏窗體的控件仍然是可用的。

10、 窗體被隱藏時(shí),用戶只有等到被隱藏窗體的事件過程的全部代碼執(zhí)行完后才能夠與該應(yīng)用程序交互。 如果調(diào)用 Hide 方法時(shí)窗體還沒有加載,那么 Hide 方法將加載該窗體但不顯示它。 (2)Move方法 用以移動(dòng) MDIForm、Form 或控件。 語(yǔ)法:object . Move left, top, width, height Move 方法的語(yǔ)法包含下列部分:部分描述object 可選的。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,帶有焦點(diǎn)的窗體缺省為 object。 left 必需的。單精度值,指示 object 左邊的水平坐標(biāo) (x-軸)。 top 可選的。

11、單精度值,指示 object 頂邊的垂直坐標(biāo) (y-軸)。 Width可選的。單精度值,指示 object 新的寬度。 height 可選的。單精度值,指示 object 新的高度。 說明:只有 left 參數(shù)是必須的。但是,要指定任何其它的參數(shù),必須先指定出現(xiàn)在語(yǔ)法中該參數(shù)前面的全部參數(shù)。例如,如果不先指定 left 和 top 參數(shù),則無(wú)法指定 width 參數(shù)。任何沒有指定的尾部的參數(shù)則保持不變。(3)Print 方法 在 Immediate 窗口中顯示文本。 語(yǔ)法:object . Print outputlist Print 方法的語(yǔ)法具有下列對(duì)象限定符和部分:部分描述object必

12、需的。對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的對(duì)象。 outputlist 可選的。要打印的表達(dá)式或表達(dá)式的列表。如果省略,則打印一空白行。 outputlist 參數(shù)具有以下語(yǔ)法和部分:Spc(n) | Tab(n) expression charpos部分描述Spc(n) 可選的。用來在輸出中插入空白字符,這里,n 為要插入的空白字符數(shù)。 Tab(n)可選的。用來將插入點(diǎn)定位在絕對(duì)列號(hào)上,這里,n 為列號(hào)。使用無(wú)參數(shù)的 Tab(n) 將插入點(diǎn)定位在下一個(gè)打印區(qū)的起始位置。 expression 可選。要打印的數(shù)值表達(dá)式或字符串表達(dá)式。 Charpos可選。指定下個(gè)字符的插入點(diǎn)。使用分號(hào) (;)

13、 直接將插入點(diǎn)定位在上一個(gè)被顯示的字符之后。使用 Tab(n) 將插入點(diǎn)定位在絕對(duì)列號(hào)上。使用無(wú)參數(shù)的 Tab 將插入點(diǎn)定位在下一個(gè)打印區(qū)的起始位置。如果省略 charpos,則在下一行打印下一字符。 說明: 可以用空白或分號(hào)來分隔多個(gè)表達(dá)式。 對(duì)系統(tǒng)指定的國(guó)別設(shè)置,用小數(shù)點(diǎn)分隔符將所有打印到 Immediate 視窗的數(shù)據(jù)正確格式化。關(guān)鍵字要用適用于主應(yīng)用程序的語(yǔ)言輸出。對(duì)于 Boolean 數(shù)據(jù),或者打印 True 或者打印 False。根據(jù)主機(jī)應(yīng)用程序的地區(qū)設(shè)置來翻譯 True 和 False 關(guān)鍵字。 使用系統(tǒng)能識(shí)別的標(biāo)準(zhǔn)短日期格式書寫 Date 數(shù)據(jù)。當(dāng)日期或時(shí)間部件丟失或?yàn)榱銜r(shí),只

14、書寫已提供的部件。 如果 outputlist 數(shù)據(jù)是 Empty,則無(wú)內(nèi)容可寫。但是,如果 outputlist 數(shù)據(jù)是 Null,則輸出 Null。在輸出 Null 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來。 要把錯(cuò)誤數(shù)據(jù)作為 Error errorcode 輸出。在輸出 Error 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來。 如果在具有缺省顯示空間的模塊外使用此方法,則需要 object。例如,如果沒有指定對(duì)象就在標(biāo)準(zhǔn)模塊上調(diào)用此方法,則將導(dǎo)致錯(cuò)誤發(fā)生,但是,如果在窗體模塊上進(jìn)行調(diào)用,則會(huì)在窗體上顯示“outputlist”。注意: 因?yàn)?Print 方法是按照字符比例進(jìn)行打印,所以字符數(shù)與字符所占據(jù)的

15、寬度固定的列的數(shù)目無(wú)關(guān)。例如,像 “W” 這樣的寬字母占據(jù)的寬度超過一固定列寬,而像 i 這樣的窄字母占據(jù)的寬度則較小??紤]到要使用比平均字符更寬的空間,表列一定要留有足夠余地。另外,也可以使用固定間距的字體(像 Courier 字體)來確保每一字符均只占一列。(4)PrintFrom方法用以將 Form 對(duì)象的圖象逐位發(fā)送給打印機(jī)。 語(yǔ)法:object.PrintForm 說明:PrintForm 將打印 Form 對(duì)象的全部可見對(duì)象和位圖。在繪制圖形時(shí),如果 AutoRedraw 屬性為 True,則在運(yùn)行時(shí)PrintForm 將打印 Form 對(duì)象或 PictureBox 控件上的圖形。

16、 PrintForm 所使用的打印機(jī)是由操作系統(tǒng)的控制面板中的設(shè)置來決定。(5) Refresh方法強(qiáng)制全部重繪一個(gè)窗體或控件。 語(yǔ)法:object.Refresh 說明:在下列情況下使用 Refresh 方法: 在另一個(gè)窗體被加載時(shí)顯示一個(gè)窗體的全部。 更新諸如 FileListBox 控件之類的文件系統(tǒng)列表框的內(nèi)容。 更新 Data 控件的數(shù)據(jù)結(jié)構(gòu)。 Refresh 方法不能用于 MDI 窗體,但能用于 MDI 子窗體。不能在 Menu 或 Timer 控件上使用 Refresh 方法。 通常,如果沒有事件發(fā)生,窗體或控件的繪制是自動(dòng)處理的。但是,有些情況下希望窗體或控件立即更新。例如,如

17、果使用文件列表框、目錄列表框或者驅(qū)動(dòng)器列表框顯示當(dāng)前的目錄結(jié)構(gòu)狀態(tài),當(dāng)目錄結(jié)構(gòu)發(fā)生變化時(shí)可以使用 Refresh 更新列表。 可以在 Data 控件上使用 Refresh 方法來打開或重新打開數(shù)據(jù)庫(kù)(如果 DatabaseName, ReadOnly, Exclusive 或 Connect 屬性的設(shè)置值發(fā)生改變),并能重建控件的 Recordset 屬性內(nèi)的 dynaset。(6)Show方法用以顯示 MDIForm 或 Form 對(duì)象。 語(yǔ)法:object.Show style, ownerform Show 方法的語(yǔ)法包含下列部分:部分描述object 可選的。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)

18、用于”列表中的一個(gè)對(duì)象。如果省略 object,則與活動(dòng)窗體模塊關(guān)聯(lián)的窗體缺省為 object。 Style可選的。一個(gè)整數(shù),它用以決定窗體是模式還是無(wú)模式 。如果 style 為 0,則窗體是無(wú)模式的;如果 style 為 1,則窗體是模式的。 Ownerform可選的。字符串表達(dá)式,指出部件所屬的窗體被顯示。對(duì)于標(biāo)準(zhǔn)的Visual Basic 窗體,使用關(guān)鍵字 Me。 說明: 如果調(diào)用 Show 方法時(shí)指定的窗體沒有裝載,Visual Basic 將自動(dòng)裝載該窗體。 當(dāng) Show 在顯示無(wú)模式窗體時(shí),隨后遇到的代碼則要執(zhí)行。當(dāng) Show 在顯示模式窗體 (modal form) 時(shí),則隨后

19、的代碼直到該窗體被隱藏或卸載時(shí)才能執(zhí)行。 當(dāng) Show 在顯示模式窗體時(shí),除了模式窗體中的對(duì)象之外不能進(jìn)行輸入(鍵盤或鼠標(biāo)單擊)。對(duì)其它窗體進(jìn)行輸入前程序必須隱藏或卸載模式窗體(通常是處于響應(yīng)用戶某些操作狀態(tài))。MDIForm 不能是形式的。 在模式窗體顯示時(shí),雖然應(yīng)用程序中的其它窗體失效,但其它應(yīng)用程序不會(huì)失效。 應(yīng)用程序的啟動(dòng)窗體在其 Load 事件調(diào)用后會(huì)自動(dòng)出現(xiàn)。下面的例子說明如何使用ownerform 參數(shù): Private Sub cmdShowResults_Click() 顯示模式窗體 frmResults. frmResults.Show vbModal, Me End Su

20、b(7)Cls方法清除運(yùn)行時(shí) Form 或 PictureBox 所生成的圖形和文本。 語(yǔ)法:object.Cls 說明:Cls 將清除圖形和打印語(yǔ)句在運(yùn)行時(shí)所產(chǎn)生的文本和圖形,而設(shè)計(jì)時(shí)在 Form 中使用 Picture 屬性設(shè)置的背景位圖和放置的控件不受 Cls 影響。如果激活 Cls 之前 AutoRedraw 屬性設(shè)置為 False, 調(diào)用時(shí)該屬性設(shè)置為 True,則放置在 Form 或 PictureBox 中的圖形和文本也不受影響。 這就是說,通過對(duì)正在處理的對(duì)象的 AutoRedraw 屬性進(jìn)行操作,可以保持 Form 或 PictureBox 中的圖形和文本。 調(diào)用 Cls 之

21、后,object 的 CurrentX 和 CurrentY 屬性復(fù)位為 0。3.窗體的常用事件 (1) Load事件 這個(gè)事件發(fā)生在窗體被裝入內(nèi)存時(shí),且發(fā)生在窗體出現(xiàn)在屏幕之前。窗體出現(xiàn)之前,Visual Basic會(huì)看一看Load事件里有沒有代碼,如果有,那么它先執(zhí)行這些代碼,再讓窗體出現(xiàn)在屏幕上。(2) Click事件,Dblclick事件這兩個(gè)事件在單擊或雙擊窗體時(shí)發(fā)生。不過單擊窗體里的控件時(shí),窗體的Click事件并不會(huì)發(fā)生,Visual Basic會(huì)去看控件的Click事件里有沒有代碼。(3)Activate (活動(dòng)事件)與Deactivate(非活動(dòng)事件) 顯示多個(gè)窗體時(shí),可以從一

22、個(gè)窗體切換到另一個(gè)窗體。每次激活一個(gè)窗體時(shí),發(fā)生Activate 事件,而前一個(gè)窗體發(fā)生Deactivate事件。(4)Resize事件 在窗體被改變大小時(shí)會(huì)觸發(fā)此事件。4.窗體的控制(1) 裝入或卸出窗體 要裝入或卸出窗體,用Load或Unload語(yǔ)句。 裝入窗體: Load formName 卸出窗體: UnLoad formNameFormName變量是要裝入或卸出的窗體名。 Load語(yǔ)句只是把窗體裝入內(nèi)存,并不顯示出來,要顯示窗體可以使用窗體的Show方法。(2) 顯示或隱藏窗體 要顯示或隱藏窗體,用Show或Hide方法。若尚未裝入內(nèi)存則先裝入再顯示。 顯示窗體: formName.

23、show mode 隱藏窗體: formName.hide FormName變量是窗體名,可選變?cè)猰ode為0(缺省值)時(shí)窗體為非模態(tài),為1時(shí)窗體為模態(tài)。模態(tài)窗體完全占有應(yīng)用程序控制權(quán),不允許切換到別的應(yīng)用程序,除非關(guān)閉!而非模態(tài)窗體則反之。(3)END語(yǔ)句END語(yǔ)句的功能是終止應(yīng)用程序的執(zhí)行,并從內(nèi)存卸在所有窗體。語(yǔ)法是: END 2.3 控件1. 常用控件介紹 (1)標(biāo)準(zhǔn)控件一 TextBox 文本框Timer計(jì)時(shí)器HscrollBar水平滾動(dòng)條ListBox列表框Pointer 指針VScrollBar 垂直滾動(dòng)條CheckBox 復(fù)選框Label標(biāo)簽DirListBox 文件夾列表框P

24、ictureBox圖片框Line 線條DriveListBox 驅(qū)動(dòng)器列表框ComboBox 組合框Shape 圖形FileListBox文件列表框OptionButton選項(xiàng)按鈕Image圖象Data 數(shù)據(jù)控件CommandButton 命令按鈕Frame 框架OLE控件(2) 常用控件的屬性、方法和事件公共屬性Name、Caption、Enabled、Fantsize、Height、Width、Index、Left、Top、 TabStop公共方法Move、Refresh、Setfocus(設(shè)置焦點(diǎn))公共事件Click、DblClick、LostFocus(失去焦點(diǎn))控件名稱屬性、方法、事

25、件說明TextBox 文本框(用于接受用戶在框內(nèi)輸入的內(nèi)容)Text屬性即用戶從文本框輸入的內(nèi)容PasswordChar屬性設(shè)置口令時(shí)用的掩碼,如:用*代替實(shí)際輸入的內(nèi)容MaxLength屬性最大長(zhǎng)度,缺省值是0,即可以輸入任意個(gè)字符MultiLine屬性為True時(shí)可以多行文本,為False時(shí)只能輸入一行文本Alignment 屬性文本在框中的對(duì)齊方式:0=左對(duì)齊,1=右對(duì)齊,2=居中Chang事件當(dāng)框中的文本內(nèi)容發(fā)生變化時(shí)觸發(fā)該事件LostFocus事件當(dāng)光標(biāo)離開文本框時(shí)觸發(fā)該事件Label 標(biāo)簽(用于在窗體上添加文字說明)Alignment屬性Caption文本的對(duì)齊方式:0=左對(duì)齊,1

26、=右對(duì)齊,2=居中WordWrap屬性為True時(shí)可根據(jù)標(biāo)簽大小自動(dòng)換行AutoSize屬性自動(dòng)調(diào)節(jié)大小,為True時(shí)可根據(jù)文本大小自動(dòng)調(diào)整標(biāo)簽大小,為False時(shí)標(biāo)簽大小不能改變,過長(zhǎng)的文本被截掉ListBox 列表框(用于列出可供用戶選擇的項(xiàng)目列表)List屬性用于保存列表內(nèi)容,訪問: 對(duì)象名. List(列表項(xiàng)序號(hào))列表項(xiàng)的序號(hào)由上到下依次為0、1、2、3ListCount屬性列表項(xiàng)數(shù)目ListIndex屬性列表項(xiàng)索引,其值為最后選中的列表項(xiàng)序號(hào),第一個(gè)為0,如果未選中任何表項(xiàng),其值為-1。Text屬性列表項(xiàng)正文,其值為最后選中的列表項(xiàng)的文本,它與List(ListIndex)相同。Co

27、lumns屬性列表框顯示形式取0時(shí)為一列顯示所有行,其他值為多列。Sort屬性排序?qū)傩?,為True時(shí),列表項(xiàng)按ASCII碼排序,為False時(shí),則不排序。AddItem方法添加列表項(xiàng),使用格式: 對(duì)象名. AddItem,插入位置序號(hào)若不指定位置,則插入到列表末尾。Clear方法刪除列表所有項(xiàng)目RemoveItem方法刪除列表項(xiàng),使用格式: 對(duì)象名 . RemoveItem 刪除項(xiàng)序號(hào)PictureBox 圖片框Image 圖象(用來把圖形放入程序里)AutoSize/Stretch屬性調(diào)整圖片框以適應(yīng)圖象 / 調(diào)整圖象以適應(yīng)外框Picture屬性 決定控件中顯示的圖象裝入圖形:imgMyHa

28、nd.Picture = LoadPicture ( “c:graphicshand.bmp” )刪除圖形: imgMyHand.Picture = LoadPicture ( “ ” )ComboBox 組合框(將列表框和文本框結(jié)合在一起)Style屬性外觀屬性:取0時(shí),系統(tǒng)創(chuàng)建一個(gè)帶下拉式列表框的組合框;為1時(shí),系統(tǒng)創(chuàng)建一個(gè)由文本框和列表框直接組合在一起的簡(jiǎn)單組合框,可以從列表框中選擇,也可以直接在文本框中輸入;為2時(shí),系統(tǒng)創(chuàng)建一個(gè)沒有文本框的下拉式列表框,單擊列表框上的按鈕才顯示文本框,用戶不能在文本框中輸入,只能在列表框中選擇。Text 屬性其值為用戶從列表框中選定的文本或直接輸入的文

29、本。AddItem方法添加列表項(xiàng),使用格式: 對(duì)象名. AddItem,插入位置序號(hào)若不指定位置,則插入到列表末尾。Clear方法刪除列表所有項(xiàng)目RemoveItem 方法刪除列表項(xiàng),使用格式: 對(duì)象名 . RemoveItem 刪除項(xiàng)序號(hào)CommandButton 命令按鈕Cancel屬性取消屬性,它為True時(shí), 按ESC即等于單擊此按鈕。Default屬性缺省屬性,它為True時(shí), 按回車鍵即等于單擊此按鈕。Timer計(jì)時(shí)器Interval屬性兩次調(diào)用Timer事件的事件間隔,用于創(chuàng)建動(dòng)態(tài)效果。Frame 框架CheckBox 復(fù)選框OptionButton選項(xiàng)按鈕Alignment屬性

30、決定它們的對(duì)齊方式,0=左對(duì)齊,1=右對(duì)齊。Value屬性決定它們是否被選中的屬性2. 常用控件的使用辨析(1)文本框和標(biāo)簽的區(qū)別: 文本框通常用于向計(jì)算機(jī)輸入信息,而標(biāo)簽通常用于輸出信息。文本框是一個(gè)十分重要的控件,因?yàn)橛蓮?fù)選框和選項(xiàng)按鈕向程序輸入的信息畢竟只有少數(shù)的幾條信息而已。標(biāo)簽和文本框的區(qū)別很小,標(biāo)簽可以看成是一個(gè)在運(yùn)行時(shí)不能修改正文的文本框,因此標(biāo)簽主要用于輸出信息。 (2) Label的AutoSize屬性和WordWrap屬性 為了使標(biāo)簽具有垂直伸展和字換行處理,必須設(shè)置它的AutoSize屬性和WordWrap屬性同時(shí)為True。 AutoSize屬性為False,WordW

31、rap屬性為False時(shí),若標(biāo)簽不夠高而Caption太長(zhǎng)時(shí),Caption將被切割掉。 AutoSize屬性為False,WordWrap屬性為True時(shí),情況也如此。 AutoSize屬性為True,WordWrap屬性為False時(shí),表示可以水平伸展,但只顯示一行信息。(3) PictureBox和Image的Stretch屬性和AutoSize屬性 Image只有Stretch屬性,而PictureBox只有AutoSize屬性。 AutoSize屬性設(shè)為True,則PictureBox改變自己的大小來適應(yīng)其中的圖形。 Stretch屬性設(shè)為True,則Image中的圖形將改變自己的大

32、小來適應(yīng)外面的邊框。(4)Frame 框架、CheckBox 復(fù)選框、OptionButton選項(xiàng)按鈕的區(qū)別: 復(fù)選框和選項(xiàng)按鈕用于向程序輸入信息, 框架用來對(duì)復(fù)選框和選項(xiàng)按鈕進(jìn)行分組。 復(fù)選框選中時(shí)會(huì)在小方框里打一個(gè)鉤,選項(xiàng)按鈕選中時(shí)會(huì)在小圓圈里點(diǎn)一個(gè)點(diǎn)。3控件使用舉例 例3、42.4 定制菜單1 菜單概述Windows中的菜單一般由菜單條、菜單、菜單項(xiàng)、子菜單、彈出式菜單組成。2 普通菜單的設(shè)計(jì)(1) 給菜單命名 菜單標(biāo)題和菜單命令也有Caption和Name屬性,設(shè)置了這兩個(gè)屬性就等于創(chuàng)建了菜單。Name是一個(gè)抽象名稱,Caption是屏幕上可見的,可在Caption里加入 “&” 來設(shè)

33、置熱鍵。(2) 增加和刪除菜單 在Menu Editor中部有三個(gè)命令鈕分別是下一個(gè)、插入、刪除。插入可用來增加新的菜單。在這三個(gè)鍵下面的Caption列表框里選中菜單項(xiàng)(這時(shí)它的底色就變成深藍(lán)色),單擊插入鍵,Visual Basic將上一個(gè)增亮菜單下推并增亮一空行,就可以輸入新菜單名和標(biāo)題了。刪除鍵可用來刪掉菜單。選中要?jiǎng)h掉的菜單,單擊Delete鍵就可以刪掉它了。(3) 移動(dòng)菜單標(biāo)題 有四種情況:向上移動(dòng),向下移動(dòng),向左縮排,向右縮排,選中某一菜單標(biāo)題,安上下箭頭,則這個(gè)菜單將上下移動(dòng)到你喜歡的位置上,這也決定了它在界面中的位置。如果按左右箭頭,情況則有所不同。由于菜單是分級(jí)的,所以,如

34、果它沒有縮排,則它是一個(gè)菜單標(biāo)題;如果它縮排一次,那么它將變成一個(gè)菜單命令;如果縮排兩次,那么它將成為一個(gè)子菜單命令。VB里可以總共設(shè)計(jì)四層子菜單。(4) 設(shè)置分離條 分離條是指在菜單中將命令分組的線,VB將分離條也看成一個(gè)菜單項(xiàng),它也需要Caption和Name屬性,而且也有其它屬性,分離條與菜單項(xiàng)的區(qū)別是分離條的Caption屬性必須是連字號(hào)即減號(hào)。也就是,當(dāng)設(shè)置了一個(gè)Caption屬性為 “-” 的菜單項(xiàng)時(shí),實(shí)際上就設(shè)置了一個(gè)分離條,分離條的名字可以是barFile1之類,以表明分離條的位置。(5) 菜單的各種簡(jiǎn)單屬性 在菜單編輯器里有許多確認(rèn)框和一些文本框及一個(gè)下拉式的列表框,這些決定

35、了菜單的各種屬性。1) Checked 復(fù)選屬性 這個(gè)屬性值設(shè)置為真,將在菜單命令左邊產(chǎn)生一個(gè)打勾的確認(rèn)標(biāo)志。2) Enabled有效屬性 各種各樣的用戶會(huì)產(chǎn)生千奇百怪的操作,在許多Edit菜單里都會(huì)有不同形式的讓菜單命令模糊的情況。Enabled屬性為真,則菜單命令是清晰的,Enabled屬性為假,則菜單命令是模糊的,這時(shí)用戶就不能選中這個(gè)菜單項(xiàng)了。3) Visible 可見屬性 對(duì)暫時(shí)不用的菜單, 如果把Visible屬性設(shè)為假,則菜單根本不會(huì)出現(xiàn)在屏幕上。這樣做比把Enabled屬性設(shè)為假顯得更加干脆!4) Index屬性 可以生成菜單命令數(shù)組,用索引號(hào)區(qū)分開。例如向File菜單中添加一

36、系列最近打開的文件名。添加菜單可用Load方法。以上屬性可以在運(yùn)行時(shí)設(shè)置,形成動(dòng)態(tài)的菜單的情況。例如:mnuUndo.Enabled = FalsemnuProperty.Visible = False還可以改變Caption等屬性。mnuUndo.Caption = “Redo”(6)為每個(gè)菜單項(xiàng)編寫事件過程代碼3. 生成彈出式菜單(或浮動(dòng)菜單) 幾乎每個(gè)Windows應(yīng)用程序都提供彈出式菜單,用戶可以右鍵單擊窗體或控件取得這個(gè)菜單。彈出式菜單也屬于普通菜單,只是不固定在窗體上,而是可以在任何地方顯示。 彈出式菜單用PopupMenu方法調(diào)用。假設(shè)已經(jīng)用菜單編輯器生成了名為mnuedit的菜

37、單,則可以在MouseUp事件加入如下代碼就可以生成彈出式菜單: If Button = 2 Then PopupMenu mnuedit4菜單設(shè)計(jì)示例 例 52.5 設(shè)計(jì)狀態(tài)條、工具欄、進(jìn)程條等1 創(chuàng)建狀態(tài)條 選中狀態(tài)條,按F4鍵進(jìn)入屬性窗口,雙擊(Custom)可以進(jìn)入主要的設(shè)置窗口SBarCtrl屬性窗口。(1) 選擇面板形狀 在SBarCtrl屬性窗口里選擇General標(biāo)簽,在Style列表框里選擇多面板(缺省形式)或單面板簡(jiǎn)單文本形式。(2) 添加或刪除狀態(tài)條面板 在SBarCtrl屬性窗口里選擇Panels標(biāo)簽,單擊Insert按鈕添加一個(gè)面板,或單擊Remove按鈕刪除一個(gè)面板

38、。(3) 在單面板里顯示文本 在SBarCtrl屬性窗口里選擇General標(biāo)簽,在SimpleText框里輸入想顯示在狀態(tài)條面板里的文本。用代碼顯示的方式是: StatusBar1.SimpleText = New string to appear(4) 在多面板里顯示文本或圖形1). 在SBarCtrl屬性窗口里選擇Panels標(biāo)簽,用Index旁的按鈕選擇面板序號(hào)。2). 在Text框里輸入想顯示在狀態(tài)條面板里的文本。3). 如果想加入圖形,單擊Browse按鈕打開一個(gè)圖形選擇對(duì)話框,選擇想加入的圖形,然后單擊打開按鈕。4). 最后按確定按鈕。5). 用代碼顯示的方式是:StatusBa

39、r1.Panels(x).Text = New string to appear6). 編寫代碼如果是一個(gè)單面板狀態(tài)條,當(dāng)用戶單擊狀態(tài)條時(shí),只需用下面的事件過程來響應(yīng):Private Sub StatusBar1_Click()End Sub 如果是一個(gè)多面板狀態(tài)條,就需要鑒別用戶單擊的是哪一個(gè)面板,可用下面的事件過程來識(shí)別用戶所單擊的面板:Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)Select Case Panel.IndexCase 1Code to follow if user clicks the first pane

40、lCase 2Code to follow if user clicks the second panelCase 3Code to follow if user clicks the third panelEnd SelectEnd Sub2 創(chuàng)建工具欄1. 建立工具條1).在工具箱里單擊工具條圖標(biāo),拖到窗體的任何位置,Visual Basic自動(dòng)將ToolBar移到頂部。2).按F4鍵打開屬性窗口。3).雙擊(Custom),打開ToolBar屬性窗口。4). 選擇Buttons標(biāo)簽。5). 單擊Insert按鈕,Visual Basic就會(huì)在你的工具條上顯示一個(gè)空按鈕,現(xiàn)在為你的每一個(gè)按

41、鈕重復(fù)這一步。6). 單擊確定按鈕。 如果想把按鈕分組,首先生成一個(gè)分隔的按鈕,再在剛才提到的對(duì)話框里將這個(gè)按鈕的Style屬性改為3-Separator。(2) 為工具條增加圖畫1). 在Visual Basic工具箱里單擊ImageList圖標(biāo),并將它拖到窗體的任何位置(位置不重要,因?yàn)樗偸遣豢梢姷模?). 按F4打開屬性窗口。3). 雙擊(Custom),打開ImageListCtrl屬性窗口。4). 選擇Image標(biāo)簽。5). 單擊Insert Picture,在現(xiàn)在圖形的對(duì)話框里選擇想使用的位圖或圖標(biāo),然后單擊打開按鈕。為每個(gè)想添加圖形的工具條按鈕重復(fù)此步。6). 單擊確定按鈕。

42、7). 單擊工具條,按F4,雙擊(Custom),顯示ToolBar屬性對(duì)話框。8). 選擇General標(biāo)簽,在ImageList框里選擇剛才添加的ImageList控件。9). 選擇Buttons標(biāo)簽,單擊緊挨Index框的向左或向右箭頭以選擇一個(gè)按鈕序號(hào)。出現(xiàn)在工具條最左邊的按鈕序號(hào)為1。10). 在Image框里輸入一個(gè)數(shù),輸入為1,則顯示剛才ImageList控件里的第一個(gè)圖形,輸入為2,則顯示剛才ImageList控件里的第二個(gè)圖形。11). 為每個(gè)按鈕重復(fù)第10步。12). 單擊確定按鈕,現(xiàn)在Visual Basic就會(huì)在工具條上顯示精美的圖形了。(3) 為工具條添加文本信息 在

43、ToolBar屬性對(duì)話框中選擇Buttons標(biāo)簽,在Caption框里輸入想顯示在按鈕上的文本。(4) 添加ToolTips ToolTips是一種當(dāng)點(diǎn)到工具按鈕時(shí)彈出的小標(biāo)簽。ToolTips很方便,可以告訴那些新手每個(gè)按鈕是干什么用的。在剛才提到的ToolBar屬性對(duì)話框中選擇Buttons標(biāo)簽,在ToolTipText框里輸入想作為ToolTip的文本。(5) 編寫代碼雙擊工具條,以下面的格式輸入代碼就可以了:Private Sub Toolbar1_ButtonClick(ByVal Button As Button)Select Case Button.IndexCase 1Code

44、 to follow if user clicks the first buttonCase 2Code to follow if user clicks the second buttonCase 3Code to follow if user clicks the third buttonEnd SelectEnd Sub3 創(chuàng)建進(jìn)程條進(jìn)程條的三個(gè)屬性:(1). Min屬性代表進(jìn)程條全空時(shí)的值,缺省時(shí)為0。(2). Max屬性代表進(jìn)程條全空時(shí)的值,缺省時(shí)為100。(3) Value屬性代表進(jìn)程條當(dāng)前的值(不用在屬性窗口里找這個(gè)屬性,它不出現(xiàn)在屬性窗口中,但它的確存在),它大于Min屬性,小

45、于Max屬性。改變Value屬性的值將改變進(jìn)程條的進(jìn)度顯示。 為了了解進(jìn)程條的功能,在窗體里添加一個(gè)進(jìn)程條和一個(gè)命令鈕,雙擊命令鈕進(jìn)入代碼窗口,鍵入如下代碼:Private Sub Command1_Click()If ProgressBar1.Value ProgressBar1.Max ThenProgressBar1.Value = ProgressBar1.Value + 5ElseProgressBar1.Visible = False 當(dāng)進(jìn)程條滿了的時(shí)候讓進(jìn)程條消失End IfEnd Sub4 創(chuàng)建滑塊(1). 選擇滑塊的外觀1). Orientation屬性決定滑塊的方位,可以是

46、垂直的或水平的滑塊。2). TickStyle屬性決定滑塊標(biāo)記的樣子。3). TickFrequency屬性規(guī)定了沿著滑塊的標(biāo)記的間隔大小,缺省的狀態(tài)是1,表明每個(gè)可能值都出現(xiàn)標(biāo)記,如果把值設(shè)置為3,則每三個(gè)可能值出現(xiàn)一個(gè)標(biāo)記。(2) 滑塊的Min,Max,Value屬性 這三個(gè)屬性和進(jìn)程條的這三個(gè)屬性差不多,Min,Max表示滑塊的最小和最大值,Value表示進(jìn)程條的當(dāng)前值。(3) 滑塊的LargeChange,SmallChange屬性 LargeChange規(guī)定了當(dāng)用戶用鼠標(biāo)單擊滑塊時(shí),滑塊可移動(dòng)的距離。SmallChange規(guī)定了用戶按左箭頭或右箭頭時(shí)滑塊的移動(dòng)距離。5. 創(chuàng)建TabS

47、trip頁(yè)框控件(1) 設(shè)置樣式 在TabStrip屬性窗口里選擇General標(biāo)簽,在Style列表框里選擇Tabs或Buttons樣式。(2) 規(guī)定TabStrip的標(biāo)題和ToolTips1). 在TabStrip屬性窗口里選擇Tabs標(biāo)簽,在Caption框里輸入標(biāo)題。2). 在TabStrip屬性窗口里選擇Tabs標(biāo)簽,在ToolTipText框里輸入ToolTip。(3) 增減標(biāo)簽總數(shù) 在TabStrip屬性窗口里選擇Tabs標(biāo)簽,單擊Insert Tab按鈕增加標(biāo)簽,單擊Remove Tab按鈕刪除標(biāo)簽。(4) 在TabStrip上顯示圖形1) 在窗體里拖入一個(gè)ImageList控

48、件,2) 按F4打開屬性窗口。3) 雙擊(Custom),打開ImageListCtrl屬性窗口并選擇Image標(biāo)簽。4) 單擊Insert Picture,在現(xiàn)在圖形的對(duì)話框里選擇想使用的位圖或圖標(biāo),然后單擊打開按鈕。為每個(gè)想添加圖形的Tab按鈕重復(fù)此步。5) 單擊確定按鈕?,F(xiàn)在ImageList里存儲(chǔ)了需要的圖形。6) 選擇TabStrip,進(jìn)入TabStrip屬性窗口并選擇General標(biāo)簽,在ImageList列表框里選擇ImageList1。7) 現(xiàn)在選擇Tabs標(biāo)簽,單擊緊挨Index框的向左或向右箭頭以選擇一個(gè)Tab序號(hào)。在Image框里輸入一個(gè)數(shù),輸入為1,則顯示剛才Image

49、List控件里的第一個(gè)圖形,輸入為2,則顯示剛才ImageList控件里的第二個(gè)圖形。8) 單擊確定按鈕。(5) 用戶響應(yīng) 可用類似下面的代碼來識(shí)別用戶在哪一個(gè)項(xiàng)目上單擊。Private Sub TabStrip1_Click()Case 1Code to follow if user clicks the first tabCase 2Code to follow if user clicks the second tabCase 3Code to follow if user clicks the third tabEnd Select End Sub(6) 在TabStrip上放置其它控

50、件 在用戶選擇了標(biāo)簽后,TabStrip要求編寫代碼來顯示或隱藏控件。下面的代碼上是一個(gè)TabStrip上有一個(gè)命令鈕和一個(gè)選項(xiàng)鈕的例子,當(dāng)用戶選擇了第一個(gè)Tab時(shí),選項(xiàng)鈕出現(xiàn),當(dāng)用戶選擇了第二個(gè)Tab時(shí),命令鈕出現(xiàn)。Private Sub TabStrip1_Click()Case 1Command1.Visible = FalseOption1.Visible = TrueCase 2Command1.Visible = TrueOption1.Visible = FalseEnd SelectEnd Sub2.6 Visual Basic的輸入機(jī)制 程序的基本操作就是數(shù)據(jù)的輸入,數(shù)據(jù)處理

51、和數(shù)據(jù)的輸出。Visual Basic可中用于輸入的控件主要有:文本框Text Box、復(fù)選框Check Box、選項(xiàng)按鈕Option Button、列表框List Box、組合框Combo Box、滾動(dòng)條Scroll Bar、通用對(duì)話框控件。還有一個(gè)函數(shù)叫InputBox函數(shù),也可用于數(shù)據(jù)的輸入。1. 通過文本框輸入數(shù)據(jù)只要取得文本框的Text屬性就可以對(duì)其進(jìn)行操作了。下面的代碼可將Text1文本框的正文變成大寫輸出至Text2文本框。Private Sub Form_Click ()Text2.Text = UCase(Text1.Text)End Sub2. 通過復(fù)選框和選項(xiàng)按鈕輸入數(shù)據(jù) 只要檢測(cè)到Check Box和Radio Button的Value屬性值就可以知道它們是否被選上了。3. 通過列表框和組合框輸入數(shù)據(jù)(1) 列表框List Box和組合框Combo Box的不同 它們?cè)赪indows的Open,Save As對(duì)話框里最為常見。組合框又包括三種類型,這三種類型要在它的Style屬性里設(shè)置。列表框僅僅把可以選擇的項(xiàng)目列出來,而組合框里有的類型可以允許用戶輸入數(shù)據(jù)。它們的異同是:名

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論