




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章Visualbasic程序設(shè)計(jì)初步1
3.1創(chuàng)建窗體
3.2VisualBasic的常用控件
3.3制作菜單教學(xué)內(nèi)容2窗體:
窗體是VB應(yīng)用程序的基本構(gòu)造模塊,各種控件必須建立在窗體上.用于創(chuàng)建VB應(yīng)用程序用戶界面或?qū)υ捒?,是包容各種控件對(duì)象的容器。由標(biāo)題欄、邊框以及客戶區(qū)組成。3.1窗體33.1.1窗體的屬性、方法與事件
Name(名稱):窗體名稱,在程序代碼中,被作為對(duì)象的標(biāo)識(shí)名,以識(shí)別不同的窗體對(duì)象,自行命名窗體時(shí),必須以一個(gè)字母開頭,可包含數(shù)字和下劃線,不能包含空格和標(biāo)點(diǎn)符號(hào),長(zhǎng)度小于40個(gè)字符。
Caption:窗體標(biāo)題,是出現(xiàn)在窗體標(biāo)題欄上的文本,缺省使用窗體名。BackColor與ForeColor:窗體的背景色與前景色(是執(zhí)行print方法時(shí)所顯示文本的顏色)。BorderStyle:窗體邊框風(fēng)格。設(shè)定值及相關(guān)的VB內(nèi)部常量及不同風(fēng)格詳見下表:1、常用屬性4
常數(shù)設(shè)置值 描述vbBSNone0 無(wú)(沒有邊框或與邊框相關(guān)的元素)vbFixedSingle1固定單邊框??梢园刂撇藛慰?,標(biāo)題欄和關(guān)閉按鈕,不能改變尺寸。vbSizable2 可調(diào)整的邊框。可以改變窗體大小。
(缺省值)vbFixedDouble3 對(duì)話框風(fēng)格的窗體。大小不能改變。vbFixedToolWindow 4工具欄風(fēng)格窗體。大小不能改變。vbSizableToolWindow5工具欄風(fēng)格窗體。大小可變。
BorderStyle屬性的六種設(shè)置值5
Enabled:活動(dòng)屬性。缺省值為”True”,當(dāng)設(shè)置為”False”時(shí),窗口及其上控件將不能被訪問(wèn)。
Left、Top、Height和Width:決定窗體位置與大小。Left和Top是窗體左上角的坐標(biāo)(屏幕左上角為坐標(biāo)零點(diǎn));Height和Width是窗體的高度和寬度,單位均為特維(1twip=1/20點(diǎn)=1/1440英寸=1/567厘米);
Font:字體屬性,設(shè)置窗體上正文字體、字型、字號(hào)等;
Visible:可見屬性。缺省為“
True”;當(dāng)設(shè)置為“False”時(shí),窗體隱藏,注意:此屬性只在運(yùn)行時(shí)生效。
Picture:背景圖片屬性。
Moveable:可移動(dòng)屬性,缺省為True,窗體在運(yùn)行時(shí)可拖動(dòng),F(xiàn)alse時(shí),不能拖動(dòng);(MaxButton,MinButton,Picture,StartUpStation,Visible,WindowState,P47)窗體常用屬性6在VB中,有兩種設(shè)置窗體(或其他對(duì)象)屬性值的方法。在設(shè)計(jì)時(shí),通過(guò)屬性窗口為其設(shè)定各種屬性值;在程序執(zhí)行過(guò)程中改變屬性值,即通過(guò)程序代碼改變屬性值在程序代碼中則使用如下格式的代碼行來(lái)改變屬性值:
Object.Property=Expression式中,Object是對(duì)象名;
Property是屬于該對(duì)象的某個(gè)屬性名;
Expression是為該屬性賦予的值,必須和屬性類型一致,即屬性是字符型,表達(dá)式也應(yīng)是字符型;屬性是邏輯型,表達(dá)式也應(yīng)是邏輯型。
例:
Labe11.Caption=“歡迎學(xué)習(xí)VB!”
Form1.Enable=False
Form1.Caption=Label1.Caption3.1.2定制窗體屬性7窗體的常用方法
Show:顯示方法;如:form2.Show
Hide:隱藏方法;如:form2.
HideMove:移動(dòng)方法;如:form1.Move[left,top,width,height]Print:打印方法;
Cls:
清除方法,清除窗體上所有打印的文本或圖形;Refresh:刷新方法;通常窗體的刷新是自動(dòng)進(jìn)行的。
方法可使對(duì)象執(zhí)行一個(gè)動(dòng)作或任務(wù)。使用方法的格式是:
對(duì)象名.方法或?qū)ο竺?方法[Arg1,Arg2,...]
后一種方法是帶有參數(shù)的方法。窗體的常用方法8PrivateSubCommand1_Click()Diminchw,inchhinchw=Form1.Widthinchh=Form1.Height
MsgBox
“將窗體移動(dòng)到屏幕的左上角,同時(shí)尺寸縮小為原來(lái)的一半"Form1.Move0,0,inchw/2,inchh/2EndSub例:使用Move方法移動(dòng)一個(gè)窗體,重新定位在屏幕左上角,尺寸縮小一倍。舉例:9事件:能夠被對(duì)象所識(shí)別的動(dòng)作;
當(dāng)某事件發(fā)生了,系統(tǒng)會(huì)自動(dòng)執(zhí)行其事件過(guò)程內(nèi)的代碼事件過(guò)程的一般格式:
PrivateSub對(duì)象名_事件名([參數(shù)表])(程序代碼)
EndSub例如:窗體的常用事件
Click:?jiǎn)螕羰录?/p>
DblClick:雙擊事件;
Load:裝載事件;
Resize:
在窗體被改變大小時(shí),會(huì)觸發(fā)本事件;
Activate:
激活事件,當(dāng)窗體變?yōu)楫?dāng)前窗口時(shí),引發(fā)本事件;
Deactivate:失去激活事件,當(dāng)窗體失去激活狀態(tài),即另一個(gè)窗體成為當(dāng)前窗口時(shí),引發(fā)本事件。PrivateSubForm_Click()’vb語(yǔ)句EndSub窗體常用事件103.1.3窗體的顯示、隱藏、裝載和卸載
11(1)
顯示窗體,可在程序中加入以下代碼:
Formname.Show[Style]
其中:Formname是要顯示的窗體名。
Show方法的Style參數(shù)決定窗體是有模式的(vbModel)還是無(wú)模式的(vbModeless)。有模式窗體不允許用戶同時(shí)與應(yīng)用程序的其他窗體交互,如Windows程序中的命令執(zhí)行確認(rèn)窗口;無(wú)模式窗體則允許用戶與一個(gè)程序的其他窗口自由交互,如VB環(huán)境中的工程、屬性和代碼窗口等,缺省值是無(wú)模式1、窗體的顯示與隱藏(2)隱藏窗體,可在程序中加入以下代碼:
Formname.Hide
其中:Formname是要隱藏的窗體名。 12(1)編寫事件過(guò)程時(shí),建議不要自行輸入程序框架,而應(yīng)選定對(duì)象和事件過(guò)程,由系統(tǒng)自動(dòng)產(chǎn)生框架。(2)命令按鈕1的單擊事件名為Command1_Click,命令按鈕2的單擊事件名為Command2_Click,但對(duì)于一個(gè)窗體,單擊事件過(guò)程名為Form_Click,而不是Form1_Click,即窗體的事件過(guò)程中的對(duì)象名是FORM,而非具體的name屬性值。例:?jiǎn)螕舸绑w1,顯示窗體2。
PrivateSubForm_Click()
Form2.ShowEndSub注意:132、裝載窗體和Load事件
使用裝載語(yǔ)句可把窗體(或其他對(duì)象)載入內(nèi)存,但并不顯示它。
裝載語(yǔ)句的格式是:
LoadObject
其中:Object是窗體名(對(duì)象名)
由于VB應(yīng)用程序在執(zhí)行時(shí),會(huì)自動(dòng)裝載啟動(dòng)窗體,所以沒有必要對(duì)啟動(dòng)窗體使用Load語(yǔ)句。當(dāng)系統(tǒng)裝載窗體時(shí),將引發(fā)窗體的Load事件;在使用Show方法顯示窗體時(shí),也會(huì)自動(dòng)將尚未載入內(nèi)存的窗體裝入內(nèi)存,并引發(fā)該窗體的Load事件。143、卸載窗體與Unload事件
使用卸載語(yǔ)句可把窗體(或其他對(duì)象)從內(nèi)存卸載。
卸載語(yǔ)句的格式是:
UnloadObject
其中:Object是窗體名(對(duì)象名) 卸載將使該對(duì)象的所有屬性重新恢復(fù)為設(shè)計(jì)態(tài)時(shí)設(shè)定的初始值;卸載還將引發(fā)對(duì)象的Unload事件。如果卸載的對(duì)象是程序唯一的窗體,則將終止程序的運(yùn)行。一起來(lái)看個(gè)例子吧!154.End語(yǔ)句
在程序代碼中可使用End語(yǔ)句結(jié)束程序運(yùn)行,形式是:
End
執(zhí)行該語(yǔ)句將終止應(yīng)用程序的執(zhí)行,并從內(nèi)存卸載所有窗體。16格式:[Object.]Print<輸出項(xiàng)表>功能:將輸出項(xiàng)顯示在窗體或圖片框上。說(shuō)明:(1)對(duì)象名缺省,則輸出到窗體上;(2)輸出項(xiàng)之間用逗號(hào)或分號(hào)間隔,若用逗號(hào)間隔,則為標(biāo)準(zhǔn)輸出;若用分號(hào)間隔,則為緊湊輸出。3.1.4Print方法
PrivateSubcommand1_Click()Print1,2,3Print1;2;3PrintPrint"ab","cd"Print"ab;";"cd;"EndSub觀察下列Print語(yǔ)句的執(zhí)行結(jié)果。173.1.2多窗體程序的設(shè)計(jì)與應(yīng)用
(教材p87)1.添加窗體“工程→添加窗體”2.顯示或隱藏窗體顯示指定窗體
Object.Show[Style]
Object-窗體名稱
Style-顯示模式(0、1)隱藏指定窗體
Object.Hide返回目錄18多窗體程序的設(shè)計(jì)與應(yīng)用
3.設(shè)置啟動(dòng)窗體默認(rèn)第一個(gè)窗體(Form1)為啟動(dòng)窗體改變啟動(dòng)窗體:“工程→工程屬性”
返回目錄19多窗體程序的設(shè)計(jì)與應(yīng)用
例.:設(shè)計(jì)試題庫(kù)管理程序ctk.vbp的初步框架返回目錄點(diǎn)擊后可打開相應(yīng)的窗體
20多窗體程序的設(shè)計(jì)與應(yīng)用
(1)創(chuàng)建用戶登錄窗體Frmdl
①新建工程:窗體保存為Frmdl.frm,工程保存為ctk.vbp。②窗體設(shè)計(jì):下面4個(gè)按鈕為一控件數(shù)組Cmdml(0)~Cmdml(3)除“退出”按鈕外,其它三個(gè)按鈕的Enabled屬性設(shè)為False密碼文本框Txtcode的PasswordChar屬性設(shè)為“*”底部提示標(biāo)簽Lblsm的Caption屬性設(shè)為空返回目錄21多窗體程序的設(shè)計(jì)與應(yīng)用
③程序設(shè)計(jì):DimcsAsInteger'cs記錄出錯(cuò)次數(shù)PrivateSubCmdml_Click(IndexAsInteger)SelectCaseIndexCase0:'單擊"題庫(kù)管理"按鈕
Frmsele.Show1Case1:'單擊"自動(dòng)選題"按鈕
Frmxt.Show1Case2:'單擊"制作考盤"按鈕
Frmcopy.Show1Case3:'單擊"退出"按鈕
EndEndSelectEndSub返回目錄控件數(shù)組按鈕的Click事件響應(yīng)代碼:點(diǎn)擊后可打開相應(yīng)的窗體
22多窗體程序的設(shè)計(jì)與應(yīng)用
PrivateSubCmgqd_Click()'單擊“確定”按鈕
Ifcs<3ThenIfUCase(TxtName.Text)<>"TEACHER"Then
Lblsm.Caption="用戶名錯(cuò)誤,請(qǐng)重新輸入!"
cs=cs+1:TxtName.SetFocus
ElseIf(Txtcode.Text)<>"kaoshi"Then
Lblsm.Caption="密碼錯(cuò)誤,請(qǐng)重新輸入!"
cs=cs+1:Txtcode.SetFocusElse'用戶名和密碼均正確的情況
Lblsm.Caption="":Cmdml(0).Enabled=TrueCmdml(1).Enabled=True:Cmdml(2).Enabled=TrueEndIfElse
Lblsm.Caption="已連錯(cuò)三次,請(qǐng)退出!":Cmdml(3).SetFocusEndIfEndSub返回目錄23多窗體程序的設(shè)計(jì)與應(yīng)用
(2)添加題庫(kù)管理窗體Frmsele
①“工程→添加窗體”,新建一個(gè)窗體,保存為Frmsele.frm。
②在該窗體中添加一個(gè)命令按鈕,
③編寫Click事件響應(yīng)代碼:
PrivateSubCmd_exit_Click()UnloadMeEndSub(3)仿上,添加窗體Frmxz.frm(4)仿上,添加窗體Frmcopy.frm
返回目錄24VB工程管理-工程的組成
VB工程包含多種類型的文件其中最常用的文件是:工程文件包含與該工程有關(guān)的全部文件、對(duì)象以及所設(shè)置的環(huán)境選項(xiàng)的信息(見教材圖5-30),擴(kuò)展名.vbp
窗體文件包含窗體及其控件有關(guān)屬性的文本描述、常量或變量的聲明、以及窗體內(nèi)的過(guò)程代碼等(見教材圖5-31),擴(kuò)展名為.frm
若窗體中對(duì)象的數(shù)據(jù)含有二進(jìn)制屬性,保存該窗體時(shí)將自動(dòng)生成同名的二進(jìn)制數(shù)據(jù)文件,擴(kuò)展名為.frx
標(biāo)準(zhǔn)模塊文件通常用來(lái)定義供其他窗體或模塊引用的全局常量、變量、過(guò)程等,擴(kuò)展名為.bas返回目錄25VB工程管理-工程的基本操作
1.新建、打開和保存工程新建工程啟動(dòng)VB時(shí):“新建工程”對(duì)話框的“新建”選項(xiàng)卡VB窗口中:“文件→新建工程”打開工程啟動(dòng)VB時(shí):“現(xiàn)存”、“新建”VB窗口中:“文件→打開工程”保存工程單擊“保存工程”按鈕“文件→保存工程”“文件→工程另存為”返回目錄26VB工程管理-工程的基本操作
2.工程中添加、移除和保存文件添加指定類型的文件:“工程→添加…”刪除選定的文件:“工程→移除…”保存選定的文件:“文件→保存…”另存選定的文件:“文件→…另存為”注:上述操作可用快捷菜單中的相關(guān)命令在當(dāng)前工程中添加現(xiàn)存的文件時(shí)(例如,添加其他工程中的窗體),并不是添加該文件的副本,而只是簡(jiǎn)單地在工程中包含對(duì)該文件的引用。返回目錄273.2VisualBasic的常用控件
2.2.1概述
2.2.2常用控件28控件名功能Pointer指針用于改變控件大小和位置等PictureBox圖片框顯示圖形或圖象Label標(biāo)簽用于文字說(shuō)明,顯示提示性信息TextBox文本框用于字符輸入Frame框架用于組合控件,將控件分組CommandButton命令按鈕單擊執(zhí)行命令CheckBox復(fù)選框用于多項(xiàng)選擇OptionButton選項(xiàng)按鈕用于從多個(gè)選項(xiàng)中單選其一ComboBox組合框列表框與文本框的組合ListBox列表框列出多個(gè)選項(xiàng)供選擇H.ScrollBar水平滾動(dòng)條產(chǎn)生水平滾動(dòng)條V.ScrollBar垂直滾動(dòng)條產(chǎn)生垂直滾動(dòng)條Timer計(jì)時(shí)器用于定時(shí)DriveListBox驅(qū)動(dòng)器列表框DirListBox文件夾列表框FileListBox文件列表框Shape圖形Line線條Image圖象Data數(shù)據(jù)控件OLE控件基本控件29
VB通過(guò)控件箱提供了這些和用戶進(jìn)行交互的可視化部件,即控件。文本框(TextBox)標(biāo)簽(Label)命令按鈕(CommandButton)
列表框(ListBox)組合框(ComboBox)圖象控件(Image)和圖片框(PictureBox)選項(xiàng)按鈕(OptionButton)、復(fù)選框CheckBox)與框架控件(Frame)滾動(dòng)條控件(HScrollBar和VScrollBar)定時(shí)器控件(Timer)常用控件301.文本框(TextBox)[功能]:用于接收用戶在框內(nèi)輸入的字符信息,或顯示由程序代碼產(chǎn)生的信息。[屬性]:Name(名稱):文本框的名稱,Text:文本屬性,該屬性值就是用戶在文本框輸入的內(nèi)容。(注意:TextBox無(wú)Caption屬性)PasswordChar:口令屬性。本屬性缺省值為空字符串,表示用戶由鍵盤輸入的字符,直接在文本框中顯示出來(lái);如果該屬性值為某個(gè)字符,則文本框中輸入的內(nèi)容均顯示為該字符,用戶看不見實(shí)際輸入的字符,一般可用于口令輸入。(如屬性值設(shè)為*)
31MaxLength:最大長(zhǎng)度屬性。缺省為0,表示本文本框可以接收任意個(gè)字符。MultiLine:多行屬性。本屬性值若為“真”,則可輸入多行文本;否則只能輸入一行文本。該屬性不能在程序中改變Scrollbars:在文本框中添加水平和垂直滾動(dòng)條。
0——無(wú)1——僅水平滾動(dòng)條2——僅垂直滾動(dòng)條3——均有Alignment:對(duì)齊屬性,有三種選擇0——(缺省值)文本左對(duì)齊。1——文本右對(duì)齊2——文本居中Left、top、Width、Height:相對(duì)于用戶區(qū)的左上角位置。文本框前提是MultiLine為True[屬性]:32[方法]:SetFocus:設(shè)置焦點(diǎn),通過(guò)本方法可使光標(biāo)指向指定的文本框。[事件]:Change:在文本框的Text屬性,即文本的內(nèi)容發(fā)生變 化時(shí),就觸發(fā)本事件;LostFocus:當(dāng)光標(biāo)離開文本框時(shí),引發(fā)本事件。KeyPress:當(dāng)焦點(diǎn)在文本框,并按下任何標(biāo)準(zhǔn)字符集的按鍵時(shí)會(huì)引發(fā)本事件。例:文本框文本框33例:在窗體1中的文本框中輸入口令,單擊“判斷”按紐,如口令正確,顯示窗體2,否則,彈出提示錯(cuò)誤窗口,單擊“清空”按紐,清除文本框中的口令,并將焦點(diǎn)設(shè)置在其中以便下次錄入。34PrivateSubCommand1_Click()IfText1.Text="cpu"Then form2_2.Show
Else MsgBox"sorry!youcan'tentertheform2!"
EndIfEndSub密碼設(shè)置清空文本框,設(shè)置焦點(diǎn)PrivateSubCommand2_Click()Text1.Text=""Text1.SetFocusEndSub程序代碼35PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenIfText1.Text="cpu"ThenForm2_2.ShowElse
MsgBox"sorry!youcan'tentertheform2!",,"文本框"EndIfEndIfEndSub另外一種觸發(fā)方式:362、標(biāo)簽(Label)[功能]:用于在窗體上增加文字說(shuō)明。如用作窗體的狀態(tài)欄,或?yàn)槲谋究?、列表框等添加注釋文字說(shuō)明等。(1)屬性
Name:標(biāo)簽名稱;
Caption:標(biāo)題屬性。本屬性值即為標(biāo)簽所顯示的文本內(nèi)容;
Alignment:對(duì)齊屬性。缺省值為0,將Caption文本左對(duì)齊;若設(shè)為1,為右對(duì)齊;設(shè)為2,則為居中;
AutoSize:大小自適應(yīng)屬性,當(dāng)取值為“True”時(shí),標(biāo)簽大小會(huì)隨實(shí)際顯示的內(nèi)容(Caption)而變化,缺省為“False”。
WordWrap:字折行屬性。取值為“True”時(shí),標(biāo)簽大小垂直擴(kuò)展,即標(biāo)題文字換行,為“False”時(shí),則水平拓展,缺省“False”,該屬性只有在AutoSize屬性為“True”時(shí)才有效。37(2)方法
Refresh:刷新;
Move:移動(dòng)。(3)事件
Click(單擊)、DblClick(雙擊)(很少用及)例Label注意:標(biāo)簽得不到焦點(diǎn),所以無(wú)setfocus方法38PrivateSubCommand1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Label1.Left=Command1.LeftLabel1.Top=Command1.Top+Command1.HeightLabel1.WordWrap=FalseLabel1.AutoSize=TrueLabel1.BackColor=vbYellowLabel1.Visible=TrueLabel1.Caption="關(guān)閉窗體,結(jié)束應(yīng)用程序"EndSub設(shè)置顏色使標(biāo)簽可見文本不換行例:窗體FORM1上有一個(gè)命令按紐“Close”,當(dāng)鼠標(biāo)光標(biāo)移動(dòng)動(dòng)到該按鈕上時(shí),在按紐下方顯示由LABEL1提供的提示行:背景色為“淡黃色”,文字為“關(guān)閉窗體,結(jié)束應(yīng)用程序”。39PrivateSubCommand1_Click()UnloadMeEndSub除命令按鈕外,鼠標(biāo)在窗體其他位置移動(dòng)時(shí),并不出現(xiàn)標(biāo)簽提示PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Label1.Visible=FalseEndSub403、命令按鈕(CommandButton)[功能]:
用戶用鼠標(biāo)單擊命令按鈕,就表示要執(zhí)行一條命令,命令的具體功能則是由觸發(fā)的單擊事件過(guò)程中的程序代碼決定。(1)屬性Caption:標(biāo)題屬性。就是顯示在按鈕上的提示文字;Default:確定屬性。當(dāng)該屬性為“True”時(shí),按“回車鍵”等同于單擊此按鈕。在一個(gè)窗體中,也只能有一個(gè)命令按鈕的該屬性值為“True”.缺省值為“False”。Cancel:取消屬性。當(dāng)本屬性值設(shè)為“True”(真)時(shí),按“Esc”鍵即等同于單擊本按鈕;在一個(gè)窗體中,只能有一個(gè)命令按鈕的該屬性設(shè)置為“True”,缺省值為“False”;Enable:有效屬性,當(dāng)該屬性為“False”時(shí),命令按鈕無(wú)效,不能響應(yīng)用戶事件,缺省為“True”。41(2)方法SetFocus:設(shè)置焦點(diǎn)。設(shè)置為焦點(diǎn)的按鈕,標(biāo)題周圍將有一個(gè)邊框,用戶直接按“回車鍵”時(shí),將會(huì)觸發(fā)執(zhí)行該按鈕的單擊事件。(3)事件
Click,即鼠標(biāo)單擊。這是命令按鈕最基本、最重要的事件。42例一個(gè)使用命令按鈕的程序示例43PrivateSubCommand1_Click()Label1.Caption="報(bào)效祖國(guó)"Command2.Enabled=TrueCommand2.SetFocusCommand1.Enabled=FalseEndSub使按鈕2變?yōu)榛顒?dòng)狀態(tài)PrivateSubCommand2_Click()Label1.Caption="努力學(xué)習(xí)"Command1.Enabled=TrueCommand1.SetFocusCommand2.Enabled=FalseEndSub使按鈕1變?yōu)榉腔顒?dòng)狀態(tài)使按鈕2具有焦點(diǎn)444、列表框(ListBox)[用途]:列出可供用戶選擇的項(xiàng)目列表。
[屬性]:List:表屬性。用于保存列表內(nèi)容。程序代碼中,可通過(guò)表屬性以及列表項(xiàng)序號(hào)實(shí)現(xiàn)對(duì)某具體列表項(xiàng)的訪問(wèn):
[對(duì)象名.]List(列表項(xiàng)序號(hào))
其中的對(duì)象名即為列表框的Name屬性值;列表項(xiàng)的序號(hào)從0開始,由上到下依次為0、1、2、3...
列表框中的列表項(xiàng)的添加方法:一是設(shè)計(jì)時(shí)在屬性窗口的LIST屬性值中直接添加,二是在程序運(yùn)行時(shí),在代碼中通過(guò)additem方法添加。ListCount:列表項(xiàng)數(shù)目。45ListIndex:列表項(xiàng)索引。其值為當(dāng)前選中的列表項(xiàng)的序號(hào),第一個(gè)列表項(xiàng)的序號(hào)為0,如果未選任何項(xiàng)目,則其值為-1;Text:列表項(xiàng)正文。其值為當(dāng)前選中的列表項(xiàng)的文本,它與List(ListIndex)相同;
即List1.Text=List1.List(ListIndex)Columns:列屬性。設(shè)置列表框中顯示的列表項(xiàng)的列數(shù)。該屬性缺省為0,只顯示一列文本。逐行顯示列表項(xiàng),可能有垂直滾動(dòng)條,取值為大于0的值時(shí),列表項(xiàng)可占多列顯示;Sorted:排序?qū)傩?。取值為“True”時(shí),各列表項(xiàng)將按字母表排序,取值為“False”時(shí),將不排序。
[屬性]46[方法]:
AddItem
:添加列表項(xiàng)。使用下面的格式來(lái)添加:
[對(duì)象名.]AddItem<列表項(xiàng)文本>[,插入位置序號(hào)]
若不指定插入位置,則插入到列表末尾;
Clear
:刪除列表中所有列表項(xiàng)。
RemoveItem
:刪除指定列表項(xiàng)。用法如下:
[對(duì)象名.]RemoveItem刪除項(xiàng)序號(hào)[事件]:
雖然列表框可以響應(yīng)單擊Click和雙擊DblClick事件。但很少使用。例:列表框47界面如圖所示,在文本框中輸入內(nèi)容,再單擊“增加”命令按紐,可以將文本框中的內(nèi)容添加至列表框中;對(duì)指定的列表框選項(xiàng),單擊“刪除”可將其刪除,同時(shí)及時(shí)更新列表項(xiàng)的總數(shù)。
[屬性]舉例48PrivateSubCommand1_Click() List1.AddItemText1.Text Label3.Caption=List1.ListCountEndSubPrivateSubCommand2_Click()
List1.RemoveItemList1.ListIndex Label3.Caption=List1.ListCount Text1.Text="" Text1.SetFocusEndSub將文本框的內(nèi)容添加至列表框中將列表框指定的選項(xiàng)進(jìn)行刪除列表數(shù)目顯示在標(biāo)簽上49PrivateSubCommand3_Click()List1.ClearLabel3.Caption=List1.ListCountText1.Text=""Text1.SetFocusEndSubPrivateSubCommand4_Click()UnloadMeEndSub全部清除505、組合框(ComboBox)[功能]:將文本框和列表框結(jié)合在一起,在列表框中所選項(xiàng)目的文本會(huì)自動(dòng)填入文本框。[屬性]:
Style:外觀屬性。組合框的類型和功能由本屬性設(shè)定值決定,各設(shè)置值的功能為(見下一頁(yè)):
Text:文本屬性。其取值就是用戶從列表框中選定的文本內(nèi)容或直接輸入文本框中的內(nèi)容。注意:組合框并不會(huì)自動(dòng)地把用戶在文本框中輸入的內(nèi)容作為一個(gè)新列表項(xiàng)添加到列表框中,須使用如下語(yǔ)句:
ComoBoxname.AddItem
ComoBoxname.Text[方法]:同列表框。[事件]:0和2風(fēng)格的組合框可響應(yīng)Click(單擊)事件;風(fēng)格1的組合框可響應(yīng)DblClick(雙擊)事件;帶有文本框的0和1風(fēng)格的組合框在編輯文本時(shí)可引發(fā)Change事件。51ComboBox組合框Style屬性的三種選擇常數(shù) 值 描述vbComboDropDown
0(缺省值)下拉式組合框。包括一個(gè)下拉式列表和一個(gè)文本框。可以從列表選擇或在文本框中輸入。vbComboSimple
1 簡(jiǎn)單組合框。文本框和列表框部分一直顯示在窗體上。可以從列表中選擇或直接文本框中輸入。應(yīng)根據(jù)實(shí)際列表項(xiàng)數(shù)目,調(diào)整控件大小。vbComboDrop-DownList
2 下拉式列表。這種樣式無(wú)文本框,不允許用戶直接輸入,僅允許從下拉式列表中選擇。52組合框的外觀53界面如下,單擊列表框中的選項(xiàng),將之添加到組合框中,同時(shí)在組合框的文本框中輸入內(nèi)容,按回車也能添加至列表中。組合框列表框舉例54PrivateSubCommand1_Click()Combo1.AddItemList1.TextEndSubPrivateSubCombo1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13Then Combo1.AddItemCombo1.Text Combo1.Text=""EndIfEndSub將輸入的內(nèi)容添加至組合框?qū)⒘斜砜蛑付ㄟx項(xiàng)移動(dòng)至組合框PrivateSubCommand2_Click()Combo1.RemoveItemCombo1.ListIndexEndSubPrivateSubCommand3_Click()Combo1.ClearEndSubPrivateSubCommand4_Click()UnloadMeEndSub556、圖象控件(Image)和圖片框(PictureBox)圖像控件(Image)[用途]:顯示來(lái)自圖形文件的圖像。[屬性]:Strech縮放屬性:為True時(shí),當(dāng)圖像的原始大小與控件大小不同時(shí),會(huì)縮放圖像來(lái)填充整個(gè)控件;為False時(shí),自動(dòng)控件大小來(lái)完整顯示圖片。BorderStyle邊框?qū)傩裕?時(shí)無(wú)邊框,1時(shí)有邊框。
Picture:圖片屬性,為要顯示的圖片的來(lái)源??稍谠O(shè)計(jì)時(shí)通過(guò)屬性窗口設(shè)置,也可在代碼中通過(guò)VB內(nèi)部函數(shù)設(shè)置:
imagename.Picture=LoadPicture(“c:\pict1.bmp”)[方法]:Move:移動(dòng)[事件]:Clickdbclick56[用途]:顯示圖形和文本,還可用于創(chuàng)建動(dòng)畫圖形。[屬性]:BorderStyle:邊框?qū)傩浴lign:對(duì)齊屬性,指圖片框在窗體上的位置。有無(wú)、上、下、左和右五種選擇。
Picture:圖片屬性。設(shè)置同IMAGE控件AutoSize:為True時(shí),當(dāng)圖片大小與控件大小不同時(shí),會(huì)自動(dòng)改變控件大小來(lái)與圖像一致,為False時(shí),則不會(huì)。[方法]:Move:移動(dòng);Print:打印Cls:清空?qǐng)D片框[事件]:Click、dbclick注意:PictureBox控件可作為控件容器,在其中放置如命令按紐、文本框等其它控件。舉例圖片框控件(PictureBox)577.選項(xiàng)按鈕(OptionButton)、復(fù)選框(CheckBox)與框架控件(Frame)單選按鈕(OptionButton)[用途]:從一組互斥的選項(xiàng)中選擇一個(gè)。[屬性]:
Caption:標(biāo)題屬性。
Value:取值屬性。單選按鈕選中時(shí),該屬性值為“True”,否則為“False”[方法]:Move、Refresh、Setfocus等[事件]:Click注意:一般情況下,在一組單選按鈕中可設(shè)置一個(gè)按鈕為“缺省”按鈕,即它的Value屬性初始狀態(tài)為“True”,根據(jù)這個(gè)設(shè)定設(shè)置整個(gè)應(yīng)用程序的初始狀態(tài)。58復(fù)選框(CheckBox)[用途]:從一組選項(xiàng)中選擇一個(gè)或多個(gè)。[屬性]:
Caption:標(biāo)題屬性。
Value:取值屬性,表示復(fù)選框的狀態(tài),有三個(gè)選擇(0——未選中、1——選中、2——當(dāng)前不能訪問(wèn)),注意與單選按紐不同。Alignment:對(duì)齊屬性。[方法][事件]:同單選按紐。59
在窗體上可以容納若干個(gè)選項(xiàng)組??衫每蚣芸丶蚯耙咽黾暗膱D片框控件,作為選項(xiàng)組的“包容器”,把各個(gè)選項(xiàng)組區(qū)分開來(lái)[用途]:作為控件容器,將控件分組。[屬性]:
Caption:標(biāo)題屬性。[方法]:Move:移動(dòng)[事件]:Click:?jiǎn)螕糇⒁猓喝舸绑w上有互不相干的多組單選按鈕,未防止選擇時(shí),他們之間相互干擾,必須將他們分組,分別放置在不同的框架(Frame)中。步驟:1先在窗體上拖放一個(gè)框架控件,并選定該框架為當(dāng)前對(duì)象;2在框架中直接繪制該組中的各個(gè)按紐控件;3若分組成功,則拖動(dòng)框架時(shí),包括其內(nèi)部的控件一起移動(dòng)。復(fù)選框框架(Frame)60界面如圖所示,在窗體上使用框架分別建立一組復(fù)選按鈕和二組單選按鈕,用戶在進(jìn)行選擇時(shí),文字的字體字號(hào)和風(fēng)格也能發(fā)生相應(yīng)的變化。例2-4:61PrivateSubCheck1_Click()IfCheck1.Value=1ThenText1.FontItalic=TrueElseIfCheck1.Value=0ThenText1.FontItalic=FalseEndIfEndSub斜體粗體PrivateSubCheck2_Click()IfCheck2.Value=1ThenText1.FontBold=TrueElseIfCheck2.Value=0ThenText1.FontBold=FalseEndIfEndSub62[程序說(shuō)明]:因?yàn)閺?fù)選框的單擊結(jié)果有兩種,所以在程序中使用了判斷結(jié)構(gòu)。而單選按鈕則不存在這種情況,單擊就是選定。PrivateSubOption1_Click()Text1.FontSize=12EndSubPrivateSubOption2_Click()Text1.FontSize=14EndSubPrivateSubOption3_Click()Text1.FontSize=16EndSubPrivateSubOption4_Cli
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)生產(chǎn)合同范本
- 保安帶電 自營(yíng)合同范本
- 企業(yè)形象合同范本
- 公證送達(dá)合同范本
- 上船押金合同范本
- 共同領(lǐng)養(yǎng)寵物合同范本
- 勾調(diào)顧問(wèn)合作協(xié)議合同范本
- 公司租賃民房合同范本
- 勞保中標(biāo)合同范本
- 農(nóng)田包地合同范本
- 《中國(guó)人口老齡化》課件
- 靜脈采血最佳護(hù)理實(shí)踐相關(guān)知識(shí)考核試題
- 檢驗(yàn)檢測(cè)中心檢驗(yàn)員聘用合同
- 腰椎后路減壓手術(shù)
- 商場(chǎng)扶梯安全培訓(xùn)
- 《全科醫(yī)學(xué)概論》課件-以家庭為單位的健康照顧
- 自來(lái)水廠安全施工組織設(shè)計(jì)
- 《跟單信用證統(tǒng)一慣例》UCP600中英文對(duì)照版
- 《醫(yī)院應(yīng)急培訓(xùn)》課件
- 提高教育教學(xué)質(zhì)量深化教學(xué)改革措施
- 招標(biāo)代理機(jī)構(gòu)遴選投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論