




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
VisualBasic程序設(shè)計教程
7/22/20231計算機技術(shù)基礎(chǔ)系列課程課件
前面介紹的VB應(yīng)用程序是由過程組成的,除了定義一些公共的常量、變量或數(shù)組外,編寫代碼都是在事件過程中進(jìn)行的。事件過程由VB預(yù)先定義,編程人員所要做的工作就是在已經(jīng)存在的過程中編寫代碼。實際應(yīng)用中,為了使程序結(jié)構(gòu)清楚,代碼易于理解和維護(hù),或減少代碼的重復(fù)性,可將重復(fù)性較大、具有一定完整功能的代碼段獨立出來形成一個單獨的程序段,在需要完成該程序段功能時可根據(jù)不同的參數(shù)調(diào)用該程序段。這種經(jīng)過定義的具有獨立功能的程序段叫做“通用過程”。根據(jù)功能不同可以分為“子過程”和“函數(shù)過程”7/22/20232計算機技術(shù)基礎(chǔ)系列課程課件第七章
過程
教學(xué)目的要求:
通過本章的學(xué)習(xí),要求熟悉和掌握:自定義函數(shù)過程和子過程聲明與調(diào)用的語法格式、參數(shù)含義及功能特性;三種參數(shù)傳遞方式(值傳遞、地址傳遞、數(shù)組傳遞)的應(yīng)用;嵌套調(diào)用和遞歸調(diào)用的執(zhí)行流程以及遞歸過程的特點;變量聲明及其作用域;列表框、組合框和滾動條的常用屬性、方法和事件。
教學(xué)難點:確定過程體的內(nèi)容、形式參數(shù)的個數(shù)及數(shù)據(jù)類型、參數(shù)傳遞方式;遞歸過程的遞推和遞歸問題;多過程應(yīng)用程序中變量的作用域。
7/22/20233計算機技術(shù)基礎(chǔ)系列課程課件第七章
數(shù)組7.1函數(shù)過程7.2子過程
7.3參數(shù)傳遞
7.4變量的作用域
7.5過程的遞歸調(diào)用7.6列表框、組合框和滾動條7.7應(yīng)用程序舉例7/22/20234計算機技術(shù)基礎(chǔ)系列課程課件7.1函數(shù)過程
VB系統(tǒng)自身提供了豐富的內(nèi)部函數(shù),這些函數(shù)無需用戶聲明即可在程序中直接調(diào)用。此外,VB允許程序設(shè)計人員根據(jù)需要,把某一算法編寫成相對獨立的程序段,并按照一定的格式進(jìn)行聲明,在源程序的適當(dāng)位置對其進(jìn)行調(diào)用,這就是自定義函數(shù)過程的聲明及調(diào)用。用戶自定義的函數(shù)過程應(yīng)遵循先定義后使用的原則。7/22/20235計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的聲明[Public|Private|Friend][Static]Function<函數(shù)過程名>[<(形式參數(shù)表)>][As<類型>][<語句塊1>][<函數(shù)過程名>=<表達(dá)式>][ExitFunction][<語句塊2>][<函數(shù)過程名>=<表達(dá)式>]EndFunction7/22/20236計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的聲明[Public|Private|Friend][Static]Function<函數(shù)過程名>[<(形式參數(shù)表)>][As<類型>][Public|Private|Friend]:可選項,缺省值為Public,表示該Function過程的適用范圍。[Static]:可選項。如果使用該選項,則VB只給過程中的所有局部變量分配一次存儲空間,即在應(yīng)用程序執(zhí)行期間,每次調(diào)用該Function過程時將保留該過程中的局部變量值。若沒有使用該選項,則每次調(diào)用該Function過程時,其中的局部變量都要被重新初始化。7/22/20237計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的聲明[Public|Private|Friend][Static]Function<函數(shù)過程名>[<(形式參數(shù)表)>][As<類型>]<函數(shù)過程名>:Function過程的名稱,遵循變量的命名規(guī)則。<形參表>:可選項。表示在調(diào)用時要傳遞給Function過程的參數(shù)變量列表。多個變量之間用逗號隔開。格式為:
<變量名>[()][As<類型>]7/22/20238計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的聲明Function過程的建立可以在窗體模塊中進(jìn)行,也可以在標(biāo)準(zhǔn)模塊中進(jìn)行。建立的方法有以下兩種:例如,F(xiàn)unctionFact(nAsInteger),回車后,此時代碼窗口中即可在Function語句和EndFunction語句之間輸入程序代碼。1)直接在代碼窗口中輸入在代碼窗口中的所有過程之外,輸入過程的第一條語句。7/22/20239計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的聲明2)使用“添加過程’’命令。打開代碼窗口,執(zhí)行“工具”菜單中的“添加過程”命令,彈出‘‘添加過程’’對話框,輸入過程名選擇類型選擇范圍7/22/202310計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的聲明例7-2
自定義一個實現(xiàn)n的階乘功能的函數(shù)Functionjiecheng(nAsInteger)AsLongEndFunctionDimiAsInteger,sAsLongs=1:i=2Whilei<=ns=s*ii=i+1Wend
jiecheng=s7/22/202311計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的調(diào)用由于函數(shù)過程返回一個值,故函數(shù)過程不能作為單獨的語句加以調(diào)用,必須作為表達(dá)式的一部分,再配以其他語法成分構(gòu)成語句。<實參表>為要傳送給Function過程的常量、變量或表達(dá)式,各參數(shù)之間用逗號分隔,如果是數(shù)組,在數(shù)組名之后必須跟一對空括號。Function過程的調(diào)用與內(nèi)部函數(shù)的調(diào)用類似,即可以直接在表達(dá)式中調(diào)用。格式:<函數(shù)過程名>([<實參表>])7/22/202312計算機技術(shù)基礎(chǔ)系列課程課件函數(shù)過程的調(diào)用例7-3利用自定義n的階乘函數(shù),求任意輸入正整數(shù)的階乘。Functionjiecheng(nAsInteger)AsLongDimiAsInteger,sAsLongs=1:i=2Whilei<=ns=s*ii=i+1Wend
jiecheng=sEndFunctionPrivateSubForm_Load()DimnAsIntegern=InputBox("請輸入n的值:")s=jiecheng(n)PrintsEndSub7/22/202313計算機技術(shù)基礎(chǔ)系列課程課件7.2子過程當(dāng)需要定義的獨立的程序段返回一個值時,使用前面介紹的函數(shù)過程很容易實現(xiàn),但在實際應(yīng)用中,可能希望過程不需要返回值,例如多次打印同一個圖形;或需要返回多個值,例如對一批數(shù)據(jù)進(jìn)行排序,或者要進(jìn)行較復(fù)雜的操作等等。在這些情況下就要利用子過程(Sub過程)來實現(xiàn)。7/22/202314計算機技術(shù)基礎(chǔ)系列課程課件子過程的聲明子過程的聲明格式:
[Private|Public][Static]Sub<過程名>[(<形參表>)][<語句組>][ExitSub][<語句組>]EndSub7/22/202315計算機技術(shù)基礎(chǔ)系列課程課件子過程的聲明例自定義一個能夠在當(dāng)前窗體上顯示n行由指定字符組成下列圖形的子過程。**********…………SubDisplay(xAsInteger,sAsString)DimiAsInteger,jAsIntegerFori=1ToxPrintTab(10);Forj=1ToiPrints;NextjPrintNextiEndSub7/22/202316計算機技術(shù)基礎(chǔ)系列課程課件子過程的建立
Sub過程的建立方法與Function過程的建立方法相同,可以在代碼窗口中直接輸入,也可通過執(zhí)行“工具”菜單中的“添加過程”命令生成過程模板。7/22/202317計算機技術(shù)基礎(chǔ)系列課程課件子過程的調(diào)用<實參表>:要傳送給Sub過程的常量、變量或表達(dá)式,各參數(shù)之間用逗號分隔,并且要與被調(diào)用子過程聲明語句中<形參表>中的參數(shù)在數(shù)目、類型、排列順序上保持一致。如果是數(shù)組參數(shù),則要在數(shù)組名之后跟一對空括號。用Call語句調(diào)用一個Sub過程時,實參必須加圓括號括起來,如果過程本身沒有參數(shù),則省略<實參表>和括號。(如果加了括號則會自動去掉)格式二省略了Call關(guān)鍵字,則<實參表>兩邊不能帶小括號調(diào)用格式一:Call<過程名>[(<實參表>)]調(diào)用格式二:<過程名>[<實參表>]7/22/202318計算機技術(shù)基礎(chǔ)系列課程課件子過程的調(diào)用PrivateSubForm_Click()DimsAsString,nAsIntegern=6s="*"
CallDisplay(n,s)s="@"n=3
Displayn,s
CallDisplay(5,"#")EndSub7/22/202319計算機技術(shù)基礎(chǔ)系列課程課件例1
分別編一計算某級數(shù)部分和的子過程和函數(shù)過程,并調(diào)用。eps!<nxn函數(shù)過程實現(xiàn)求部分級數(shù)和
FunctionJishu1#(x!,eps#)
Dimn%,s#,t# n=1:s=0:t=1 DoWhile(Abs(t)>=eps) s=s+t t=t*x/n n=n+1 Loopjishu1=sEndFunction子過程實現(xiàn)求部分級數(shù)和
SubJishu2(s#,x!,eps#)Dimn%,t#n=1:s=0:t=1DoWhile(Abs(t)>=eps)s=s+tt=t*x/nn=n+1LoopEndSub7/22/202320計算機技術(shù)基礎(chǔ)系列課程課件若x=2,eps=0.000001,求級數(shù)的和
PrivateSubCommand1_Click()Dimf1#,f2#f1=jishu1(2!,0.000001)
Calljishu2(f2,2!,0.000001)
Print"f1=";f1,"f2=";f2EndSubSubjishu2(s#,x!,
eps#)…s=表達(dá)式EndSub找子過程名調(diào)用jishu2⑥①Functionjishu1#(x!,eps#)…
jishu=表達(dá)式EndFunction
找函數(shù)名調(diào)用jishu1②⑤⑦⑧函數(shù)名帶了值返回④③7/22/202321計算機技術(shù)基礎(chǔ)系列課程課件子過程與函數(shù)過程的區(qū)別
(1)函數(shù)過程名有值,有類型,在函數(shù)體內(nèi)至少對函數(shù)過程名賦值一次(若不賦值則失去了定義函數(shù)的目的);子過程名無值,無類型,在子過程體內(nèi)不能對子過程名賦值;
(2)調(diào)用時,子過程調(diào)用是一句獨立的語句;函數(shù)過程不能作為單獨的語句加以調(diào)用,必須參與表達(dá)式運算。
(3)把某功能聲明為函數(shù)過程還是子過程沒有嚴(yán)格規(guī)定,一般當(dāng)過程有一個函數(shù)值,使用函數(shù)過程較直觀;反之若過程無返回值或有多個返回值,使用子過程較直觀。7/22/202322計算機技術(shù)基礎(chǔ)系列課程課件嵌套調(diào)用
VB系統(tǒng)中不允許在一個過程體內(nèi)出現(xiàn)對另一個過程的聲明,即嵌套的過程聲明。因為各過程之間是平行的。但是允許在一個過程體中出現(xiàn)對另一個過程的調(diào)用,這樣就出現(xiàn)了過程的嵌套調(diào)用,即在主調(diào)過程中又調(diào)用其它過程。7/22/202323計算機技術(shù)基礎(chǔ)系列課程課件7.3參數(shù)傳遞如何將實參的數(shù)據(jù)對應(yīng)傳送給形參呢?有2種方式。一是按地址傳遞(傳址),二是按值傳遞(傳值)。形參與實參:形參:也叫做形式參數(shù),它是在Sub、Function過程的定義中出現(xiàn)的變量名。實參:也叫做實際參數(shù),它是在調(diào)用Sub、Function過程時傳送給Sub和Function過程中的常數(shù)、變量、表達(dá)式或數(shù)組。在傳遞參數(shù)時,形參與實參中對應(yīng)參數(shù)的名字不必相同,但形參和實參在數(shù)量、類型和順序上應(yīng)保持一致。7/22/202324計算機技術(shù)基礎(chǔ)系列課程課件7.3參數(shù)傳遞[Private|Public][Static]Sub<過程名>[<(形參表)>][Public|Private][Static]Function<函數(shù)過程名>[<(形參表)>][As<類型>]([ByVal|ByRef]變量名1[As數(shù)據(jù)類型],
[ByVal|ByRef]變量名2[As數(shù)據(jù)類型],……)(形參表)格式還可細(xì)化為:[ByVal|ByRef]省略默認(rèn)為按地址傳遞7/22/202325計算機技術(shù)基礎(chǔ)系列課程課件按值傳遞按值傳遞是指在過程調(diào)用是系統(tǒng)把實參值傳遞給形參而不傳遞實參的地址。系統(tǒng)將調(diào)用語句中對應(yīng)的實參的值取出,同時為被調(diào)用過程的形參變量分配新的存儲單元,并將上述數(shù)值存入相應(yīng)存儲單元內(nèi),轉(zhuǎn)去執(zhí)行被調(diào)用過程中的程序,直至被調(diào)用過程結(jié)束。這種情況下,被調(diào)用過程中對形參變量值的修改,當(dāng)被調(diào)用過程執(zhí)行結(jié)束返回主過程時,不會影響實際參數(shù)變量的值,數(shù)據(jù)的傳遞是單向的。7/22/202326計算機技術(shù)基礎(chǔ)系列課程課件按值傳遞例7-9
將主過程中兩個變量x、y中的值,通過調(diào)用兩參數(shù)交換子過程myfunc(),對其進(jìn)行交換。
PrivateSubForm_Click()Form1.FontSize=12Dimx%,y%x=3:y=5PrintPrint“交換前:x=";x;"y=";yCallmyfunc(x,y)Print“交換后:x=";x;"y=";yEndSubSubmyfunc(ByVala%,ByValb%)DimtempAsIntegerPrint“交換前:a=";a;"b=";btemp=aa=bb=tempPrint“交換后:a=";a;"b=";bEndSub7/22/202327計算機技術(shù)基礎(chǔ)系列課程課件按地址傳遞按地址傳遞是指主過程將實參的地址傳給被調(diào)用過程的形參,使形參和實參具有相同的地址,即形參與實參共享同一存儲單元。被調(diào)用過程在執(zhí)行時對形參的操作修改都變成了對實參的操作,實參值會隨著被調(diào)用過程對其形參的修改而改變。因此按地址傳遞可以實現(xiàn)調(diào)用過程與子過程之間數(shù)據(jù)的雙向傳遞。形參使用關(guān)鍵字ByRef定義(或省略),表示要按地址傳遞。
7/22/202328計算機技術(shù)基礎(chǔ)系列課程課件按地址傳遞PrivateSubForm_Click()Form1.FontSize=12Dimx%,y%x=3:y=5PrintPrint“交換前:x=";x;"y=";yCallmyfunc(x,y)Print“交換后:x=";x;"y=";yEndSubSubmyfunc(ByVala%,ByValb%)DimtempAsIntegerPrint“交換前:a=";a;"b=";btemp=aa=bb=tempPrint“交換后:a=";a;"b=";bEndSub7/22/202329計算機技術(shù)基礎(chǔ)系列課程課件數(shù)組的傳遞前面出現(xiàn)在形式參數(shù)表、實際參數(shù)表中的數(shù)據(jù)類型,都是基本數(shù)據(jù)類型,當(dāng)需要傳遞的數(shù)據(jù)為批量數(shù)據(jù)時,數(shù)組變量成為參數(shù)傳遞的一個重要內(nèi)容。VB規(guī)定:1.形參變量中出現(xiàn)數(shù)組變量時,僅寫數(shù)組名加圓括號即可(省略下標(biāo)上、下限的聲明)。2、當(dāng)被調(diào)用過程聲明語句的形參表中包含數(shù)組時,主調(diào)過程語句實參表的對應(yīng)參數(shù)也應(yīng)為數(shù)組名加圓括號,且兩數(shù)組的數(shù)據(jù)類型應(yīng)保持一致。3、數(shù)組參數(shù)必須為地址傳遞方式。7/22/202330計算機技術(shù)基礎(chǔ)系列課程課件7.4變量的作用域
VB應(yīng)用程序由三種模塊組成,即窗體模塊(Form)、標(biāo)準(zhǔn)模塊(Module)和類模塊(Class)。這些模塊通常保存在具有特定類型名的文件中,窗體模塊保存在以.frm為類型名的文件中;標(biāo)準(zhǔn)模塊保存在以.bas為類型名的文件中;類模塊保存在以.cls為類型名的文件中。7/22/202331計算機技術(shù)基礎(chǔ)系列課程課件類模塊(.cls)文件標(biāo)準(zhǔn)模塊(.bas)文件事件過程窗體模塊(.frm)文件應(yīng)用程序工程文件Function過程Sub過程Function過程Sub過程7.4變量的作用域7/22/202332計算機技術(shù)基礎(chǔ)系列課程課件窗體模塊窗體模塊是大多數(shù)VB應(yīng)用程序的基礎(chǔ)。
VB中每個窗體對應(yīng)一個窗體模塊,窗體模塊包含窗體及其控件的屬性設(shè)置、窗體變量的聲明、處理事件過程、通用過程以及外部過程的窗體級聲明。7/22/202333計算機技術(shù)基礎(chǔ)系列課程課件標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊可以包含變量、常量、外部過程和全局(在整個應(yīng)用程序范圍內(nèi)有效的)過程的全局聲明或模塊級聲明。缺省情況下,標(biāo)準(zhǔn)模塊中的代碼是公有的,任何窗體或模塊中的事件過程或通用過程都可以訪問它。
標(biāo)準(zhǔn)模塊不與任何窗體相關(guān)聯(lián)。在標(biāo)準(zhǔn)模塊中可以包含通用過程,但不能包含事件過程。當(dāng)一個應(yīng)用程序含有多個窗體,且這些窗體都需要調(diào)用某一個通用過程時,就需要建立一個標(biāo)準(zhǔn)模塊,在該標(biāo)準(zhǔn)模塊中建立通用過程。7/22/202334計算機技術(shù)基礎(chǔ)系列課程課件變量的作用域
VB的程序模塊由一些過程組成,幾乎在每一個過程中我們都能夠看到用Dim或Static語句聲明的變量。變量的定義位置不同,定義方式不同,允許被訪問的范圍和作用時間也不相同。變量的作用域即指變量的有效范圍。
根據(jù)變量聲明后發(fā)揮作用的區(qū)域,可以將變量分為:過程級變量、窗體/模塊級變量、全局變量。7/22/202335計算機技術(shù)基礎(chǔ)系列課程課件過程級變量又稱局部變量,指在過程內(nèi)用Dim或Static語句聲明的變量(或不加聲明直接使用的變量),只能在本過程中使用的變量,別的過程不可訪問。由關(guān)鍵字Dim聲明的過程變量隨過程的調(diào)用而分配存儲單元,并進(jìn)行變量的初始化,在此過程體內(nèi)進(jìn)行數(shù)據(jù)的存取,一旦該過程體結(jié)束,變量的內(nèi)容白動消失,占用的存儲單元釋放。
用關(guān)鍵字Static聲明的過程級變量,當(dāng)該過程運行結(jié)束時變量的內(nèi)容不丟失,再次運行這個過程,系統(tǒng)保持上次的計算結(jié)果,但Static聲明的變量同樣在其他過程中無效,即使是同名變量;7/22/202336計算機技術(shù)基礎(chǔ)系列課程課件指在一個窗體或模塊的任何過程外,即在“通用聲明”區(qū)域中用Dim語句或用Private語句聲明的變量,可被本窗體或模塊的任何過程訪問。窗體/模塊級變量:全局級變量:指在窗體或模塊的“通用聲明”區(qū)域中用Public語句聲明的變量,可供應(yīng)用程序的所有窗體和所有標(biāo)準(zhǔn)模塊中的過程調(diào)用。如果在某一窗體內(nèi)定義了同名的窗體級或過程級變量,該變量在其定義的區(qū)域中保持窗體級或過程級變量的屬性,在其他模塊中仍為全局變量7/22/202337計算機技術(shù)基礎(chǔ)系列課程課件三種變量對比7/22/202338計算機技術(shù)基礎(chǔ)系列課程課件例如在下面一個標(biāo)準(zhǔn)模塊文件中不同級的變量聲明:
PublicPaAsinteger '全局變量
PrivateMbAsstring*10 '窗體/模塊級變量
SubF1() DimFaAsinteger '局部變量
… EndSub SubF2() DimFbAsSingle '局部變量
… EndSub7/22/202339計算機技術(shù)基礎(chǔ)系列課程課件PublicTempAsinteger '全局變量SubForm_Load()
DimTempAsInteger '局部變量
Temp=10 '訪問局部變量
Form1.Temp=20 '訪問全局變量必須加窗體名
PrintForm1.Temp;Temp '顯示2010EndSub若在不同位置聲明了不同級別相同的變量名,系統(tǒng)按局部、窗體/模塊、全局次序訪問。7/22/202340計算機技術(shù)基礎(chǔ)系列課程課件過程的作用域窗體/模塊級:加Private關(guān)鍵字的過程,只能被定義的窗體或模塊中的過程調(diào)用。全局級:加Public關(guān)鍵字(缺?。┑倪^程,可供該應(yīng)用程序的所有窗體和所有標(biāo)準(zhǔn)模塊中的過程調(diào)用。7/22/202341計算機技術(shù)基礎(chǔ)系列課程課件7.6列表框、組合框和滾動條一、列表框(ListBox)列表框是顯示項目列表的控件,從中可以選擇一項或多項。如果項目總數(shù)超過了可顯示的項目數(shù),就自動在列表框上添加滾動條。7/22/202342計算機技術(shù)基礎(chǔ)系列課程課件列表框?qū)傩砸郧皩W(xué)習(xí)過的屬性:Name、Visible、EnabledFontBold、FontItalic、FontName、FontSize、FontUnderline
Height、Width、Left、TopList:返回或設(shè)置控件的列表部分的項目。列表是一個字符串?dāng)?shù)組,數(shù)組的每一項都是一列表項目。
①格式:對象名稱.List(下標(biāo))[=字符串]
②這里注意list屬性值是一組數(shù)據(jù)。例如:List1.List(0)="AAAAAA"‘對列表框List1的第0個項目賦值。7/22/202343計算機技術(shù)基礎(chǔ)系列課程課件列表框?qū)傩訪istCount:返回控件的列表部分項目的個數(shù)。ListIndex:返回或設(shè)置控件中當(dāng)前所選的項目下標(biāo),列表框的第一個項目下標(biāo)為0,第二個項目下標(biāo)為1,最后一個項目下標(biāo)為ListCount-1。如果沒有選中任何項目,ListIndex屬性值為-1。MultiSelecl屬性:返回或設(shè)置一個值,該值指示是否能夠同時選擇列表框中的多個項(復(fù)選),以及如何進(jìn)行復(fù)選
0-None為缺省值,表示不允許復(fù)選。1-Simple表示單擊鼠標(biāo)或按空格鍵可在列表中選擇或取消選擇列表項。
2-Extended表示按下Shift鍵并單擊鼠標(biāo),或按下Shift健以及一個箭頭鍵將在以前選擇項的基礎(chǔ)上擴(kuò)展選擇到當(dāng)前選擇項。7/22/202344計算機技術(shù)基礎(chǔ)系列課程課件列表框?qū)傩?/p>
Selected:返回或設(shè)置ListBox或FileListBox控件中的各個項的選擇狀態(tài)。當(dāng)數(shù)組元素的值為True時,表明選擇了List屬性的對應(yīng)項,如為False時,則表示該項未被選擇。該屬性的返回值可以檢查用戶對列表框的選擇情況,也可以在程序中賦值,指定選擇:對象名稱.Selected(下標(biāo))[=True|False]其中:<下標(biāo)>值為0到ListCount–1。例:List1.Selected(3)=True‘選擇List1的第4個項目
List1.Selected(1)=False‘取消List1第2個項目的選擇7/22/202345計算機技術(shù)基礎(chǔ)系列課程課件列表框?qū)傩?/p>
SelCount:返回被選中項的數(shù)量。如果沒有項被選中,那么SelCount
屬性將返回0值。
Sorted:邏輯型。它用來確定列表框中的項目是否按字母數(shù)字升序排列,通過屬性窗口設(shè)置。若Sorted屬性設(shè)為True,項目按字母數(shù)字升序排列,如果設(shè)為False(缺省值),則表項按加入列表框的先后順序排列。
Text:字符串型。返回列表框中當(dāng)前選擇的項目。返回值與表達(dá)式List(ListIndex)的返回值相同。在設(shè)計時和運行時都為只讀,即不能企圖通過屬性窗口或賦值語句修改ListBox的Text屬性。7/22/202346計算機技術(shù)基礎(chǔ)系列課程課件列表框事件列表框接受Click、DblClick、GotFocus、LostFocus等大多數(shù)控件的通用事件,但通常不編寫Click事件過程,而是當(dāng)單擊某個命令按鈕或雙擊列去框時讀取列表框的Text屬性值。7/22/202347計算機技術(shù)基礎(chǔ)系列課程課件列表框方法AddItem:該方法用于向列表框添加一個新的項目,格式:列表框名.AddItem
字符串[,<下標(biāo)>]
AddItem方法把“字符串”的文本插入到由“下標(biāo)”指定列表框的位置中。如果缺省下標(biāo),則把文本添加到列表框的尾部。下標(biāo)的取值范圍從0到ListCount–1。例如:lst1.AddItem“年齡”,3‘插入第三項
lst1.AddItem“通訊地址”‘添加末項7/22/202348計算機技術(shù)基礎(chǔ)系列課程課件列表框方法
Clear
清除列表框中全部內(nèi)容。執(zhí)行Clear方法后,ListCount屬性重新被設(shè)置為0。例如:list2.Clear‘清除列表框lst2
RemoveItem
刪除列表框的指定項目。格式為:列表框名.RemoveItem<下標(biāo)>例如:lst2.RemoveItem5‘刪除第六項
lst2.RemoveItemlist2.ListIndex‘刪除當(dāng)前所選項7/22/202349計算機技術(shù)基礎(chǔ)系列課程課件列表框舉例PrivateSubCommand1_Click()IfList1.ListIndex=-1Then
MsgBox(“請在左面列表框中選擇一個項目!")ElseList2.AddItemList1.TextList1.RemoveItemList1.ListIndexEndIfEndSub例7-16窗體中有兩個列表框,設(shè)計兩個按鈕,單擊其中一個實現(xiàn)將列表框1中選定的項目添加到列表框2中,單擊另一個將列表框2中選定的項目添加到列表框1中。7/22/202350計算機技術(shù)基礎(chǔ)系列課程課件列表框舉例PrivateSubCommand2_Click()IfList2.ListIndex=-1Then
MsgBox("請在右面列表框中選擇一個項目!")ElseList1.AddItemList2.TextList2.RemoveItemList2.ListIndexEndIfEndSub7/22/202351計算機技術(shù)基礎(chǔ)系列課程課件組合框組合框(ComboBox)是一種同時具有文本框和列表框特性的控件。它可以像列表框一樣,讓用戶通過鼠標(biāo)選擇所需要的項目,也可以像文本框那樣,用鍵入方式輸入項目。組合框共三種風(fēng)格:下拉式組合框、簡單組合框、下拉式列表框。7/22/202352計算機技術(shù)基礎(chǔ)系列課程課件組合框?qū)傩許tyle屬性:用來指示組合框的顯示類型和行為。(1)當(dāng)Style屬性被設(shè)為0時,稱為“下拉式組合框”。包括一個下拉式列表和一個文本框,允許用戶從下拉列表中選擇項目,還可以從文本編輯區(qū)輸入文本。(2)Style屬性為1的組合框稱為“簡單組合框”。它由一個文本編輯框和一個不能下拉的標(biāo)準(zhǔn)列表框組成。可以從列表中選擇或在文本框中輸入。(3)Style屬性為2的組合框稱為“下拉式列表框”。它的外觀和下拉式組合框一樣,右端也有一個箭頭,可供“拉下”或“收起”列表框,這種樣式僅允許從下拉列表中選擇,不能在文本框中輸入文本,列表可以折疊起來。。
7/22/202353計算機技術(shù)基礎(chǔ)系列課程課件組合框?qū)傩灾饕獙傩裕篖ist、ListCount、ListIndex、TopIndex、NewIndex、Sorted等屬性的應(yīng)用,類似于列表框。Text屬性:當(dāng)控件的Style屬性設(shè)置為0或1時,該屬性用于返回或設(shè)置編輯域中的文本。而當(dāng)Style屬性設(shè)置為2時,該屬性為只讀,運行時返回在列表中選擇的項目。7/22/202354計算機技術(shù)基礎(chǔ)系列課程課件組合框事件組合框的事件與Style屬性有關(guān),當(dāng)Style為0時,響應(yīng)Click、Change、DropDown事件。當(dāng)Style為1時,響應(yīng)Click、DblClick、Change事件。當(dāng)Style為2時,響應(yīng)Click、DropDown事件。當(dāng)用戶單擊組合框的下拉箭頭時,觸發(fā)DropDown事件;而組合框可以接受文本編輯時,則可以觸發(fā)Change事件。通常是在其他事件過程(如命令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程鋼筋承包合同
- 個人合作協(xié)議合同
- 綠色能源采購供應(yīng)合作協(xié)議
- 物流運輸行業(yè)風(fēng)險免責(zé)協(xié)議
- 合伙人退出協(xié)議6篇
- Module3 Unit2 Point to the window(教學(xué)設(shè)計)-2024-2025學(xué)年外研版(一起)英語一年級上冊
- 小學(xué)信息技術(shù)五年級上冊第4課《 美化圖像我來做》教學(xué)設(shè)計
- 濟(jì)南非金屬聲屏障施工方案
- 26 我的“長生果”教學(xué)設(shè)計-2024-2025學(xué)年語文五年級上冊統(tǒng)編版
- 砼滴水坑施工方案
- 《數(shù)學(xué)課程標(biāo)準(zhǔn)》義務(wù)教育2022年修訂版(原版)
- 設(shè)備拆裝施工方案
- 注冊安全工程師《安全生產(chǎn)管理知識》科目知識要點
- 研學(xué)旅行基地評估認(rèn)定評分表
- 第5課 用發(fā)展的觀點看問題-【中職專用】2024年中職思想政治《哲學(xué)與人生》金牌課件(高教版2023·基礎(chǔ)模塊)
- 《新時代公民道德建設(shè)實施綱要》、《新時代愛國主義教育實施綱要》知識競賽試題庫55題(含答案)
- 小學(xué)百科知識競賽題庫200道及答案(完整版)
- JJ∕G(交通) 201-2024公路橋梁支座壓剪試驗機
- 2019-2020學(xué)年七年級(上)期末數(shù)學(xué)試卷2附解析
- 承包設(shè)備拆裝合同范本
- 電話接聽技巧與服務(wù)質(zhì)量提升方案三篇
評論
0/150
提交評論