版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 visual basic程序設(shè)計(jì)概述1.1 visual basic 簡介visual basic的特點(diǎn)有基于對象的可視化設(shè)計(jì)工具;事件驅(qū)動的編程機(jī)制;提供應(yīng)用程序集成開發(fā)環(huán)境;支持結(jié)構(gòu)化程序設(shè)計(jì)語言;強(qiáng)大的網(wǎng)絡(luò)、數(shù)據(jù)庫、多媒體功能;完備的幫助功能vb中字符以unicode碼存放,每個漢字和英文是一個字符、占有兩個字節(jié),漢字的機(jī)內(nèi)碼最高位為1其碼值為小于0(以補(bǔ)碼表示),西文字符的最高位為0,其碼值為大于0ex:設(shè)計(jì)一個滾動文字的廣告程序, 一行文字在具有背景圖案的窗體上,下移動.設(shè)計(jì)思路:在窗體上使用標(biāo)簽label對象來存放文字;利用timer控件來快速觸發(fā)移動;利用單擊按鈕來手動觸
2、發(fā)移動;改變標(biāo)簽的左上角坐標(biāo)(left, top表示)就可移動標(biāo)簽label1.top=label1.top+50: 使標(biāo)簽label1向下移動50單位interval=200: 時鐘對象的interval可指定時間間隔, 1秒為1000單位. 每隔0.2秒移動一次可設(shè)置i have a courseware1.2 vb集成開發(fā)環(huán)境三種工作模式 設(shè)計(jì)模式(界面設(shè)計(jì)和代碼編制);運(yùn)行模式(運(yùn)行程序);中斷模式(中斷運(yùn)行,調(diào)試程序) 工程的組成窗體文件(控件和屬性設(shè)置,事件代碼);模塊文件窗體設(shè)計(jì)窗口窗體是vb應(yīng)用程序的主要部分;一個應(yīng)用程序至少有一個窗體窗口;每個窗體必須有一個唯一的窗體名(默認(rèn)
3、名為form1);設(shè)計(jì)狀態(tài)的窗體由網(wǎng)格點(diǎn)構(gòu)成;網(wǎng)格點(diǎn)間距可以通過工具選項(xiàng)通用進(jìn)入窗體網(wǎng)格設(shè)置;運(yùn)行時可通過屬性控制窗體的可見性代碼設(shè)計(jì)窗口用來進(jìn)行代碼設(shè)計(jì)(各種事件過程、過程代碼的編寫修改);打開代碼設(shè)計(jì)窗口(雙擊窗體控件資源管理器窗口查看代碼) 屬性窗口設(shè)置窗體或控件的屬性,如顏色、字體、大小等工程管理器窗口保存一個應(yīng)用程序所有屬性以及組成這個應(yīng)用程序所有的文件;工程文件的擴(kuò)展名為.vbp,工程文件名顯示在工程文件窗口的標(biāo)題框內(nèi)工具箱窗口由21個被繪制成按鈕形式的圖標(biāo)構(gòu)成;其中20個控件稱為標(biāo)準(zhǔn)控件(指針不是控件)也可通過工程部件命令將第3方開發(fā)的其他控件裝入到工具箱1.3 創(chuàng)建應(yīng)用程序的過
4、程創(chuàng)建應(yīng)用程序的過程建立用戶界面的對象對象屬性的設(shè)置對象事件過程及編程保存和運(yùn)行程序第2章 vb可視化編程基礎(chǔ)2.1 vb對象概念 對象:指現(xiàn)實(shí)世界中的實(shí)體類:是對同一種對象的集合與抽象,類的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)對用戶來說是透明的對象:類的一個實(shí)例封裝和隱藏:將數(shù)據(jù)結(jié)構(gòu)和對數(shù)據(jù)的操作封裝在一起vb工具箱中的可視圖標(biāo)通過將vb系統(tǒng)設(shè)計(jì)好的標(biāo)準(zhǔn)控件類實(shí)例化,得到真正的控件對象(在窗體上畫一個控件,類就轉(zhuǎn)換為對象,創(chuàng)建了一個控件對象)對象的三要素:屬性、事件和方法構(gòu)成屬性:存放對象的數(shù)據(jù)(決定對象外觀及功能)設(shè)計(jì)階段(利用屬性窗口直接設(shè)置屬性值)程序運(yùn)行(語句對象名.屬性名=屬性值)(只能在設(shè)計(jì)階段設(shè)置,在
5、運(yùn)行階段不可改變的屬性稱為只讀屬性)事件:發(fā)生在對象上的事情(同一事件,對不同的對象,會引發(fā)不同的反應(yīng))格式:(代碼窗口自動產(chǎn)生事件過程的模板,不要修改模板內(nèi)容,只需鍵入過程代碼)sub 對象名_事件(參數(shù)) 事件過程代碼end sub事件驅(qū)動程序設(shè)計(jì)方式:程序執(zhí)行的次序與程序設(shè)計(jì)者無關(guān),取決于用戶的操作vb程序的執(zhí)行步驟啟動應(yīng)用程序,裝載和顯示窗體窗體(或窗體上的控件)等待事件的發(fā)生事件發(fā)生時執(zhí)行對應(yīng)的事件過程再次等待方法:面向?qū)ο蟮某绦蛘Z言為設(shè)計(jì)人員提供的一種特殊的過程和函數(shù);調(diào)用時一定要指明對象格式:對象.方法 參數(shù)名表(省略對象表示當(dāng)前對象,一般指窗體)ex:text1.setfocu
6、s:此語句使text1控件獲得焦點(diǎn),光標(biāo)在本文框內(nèi)閃爍2.2 窗體和基本控件 窗體和控件具有基本屬性name:名稱屬性-所創(chuàng)建的對象名稱caption:標(biāo)題屬性-對象上顯示的內(nèi)容height,width,top,left:決定對象的高度、寬度,和位置enabled:對象是否允許操作visible:對象是否可見font:文本的外觀屬性組fontname:字體fontsize:大小 fontbold:粗體fontitalic:斜體 fontstrikethru:刪除線 fontunderline:下劃線 forecolor:前景顏色backcolor:背景顏色 mousepointer:鼠標(biāo)指針類
7、型,設(shè)置值范圍015,由系統(tǒng)指定(若為99,由用戶提供的圖形文件定義鼠標(biāo)指針形狀)mouseicon:mousepointer=99,存放自定義的鼠標(biāo)圖標(biāo)文件(ico或cur)控件默認(rèn)屬性:程序運(yùn)行時,可以改變某控件的值,而不必指定它的哪個屬性文本框text單選按鈕value 命令按鈕default 標(biāo)簽caption圖形、圖像框picture復(fù)選框 value窗體事件:load事件(窗體被裝入觸發(fā)的事件,常為初始化);click事件;dblclick事件方法: 對象方法參數(shù)列表cls方法:清除窗體或圖形框運(yùn)行產(chǎn)生的文本圖形,不能清除窗體在設(shè)計(jì)時的文本圖形move方法:可移動窗體或控件,并改變
8、其大小 格式:對象.move 左邊距離,上邊距離,寬度,高度標(biāo)簽:用來顯示文本信息(不能輸入) 文本框:文本編輯區(qū)域,可以在該區(qū)域輸入、編輯、修改和顯示正文內(nèi)容屬性:text:顯示或輸入正文內(nèi)容maxlength:可輸入的文字最大長度(默認(rèn)0表示任意長度,字母和漢字長都為1)multiline:設(shè)置true可輸入或顯示多行;自動換行,按enter可插入空行scrollbars:滾動條屬性(當(dāng)multiline為true時,scrollbars才有效)none:無滾動條 horizontal:水平滾動條 vertical:垂直滾動條 both:同時加水平和垂直滾動條passwordchar:設(shè)置
9、顯示文本的替代符(設(shè)置口令) (multiline為true時,該屬性不起作用,密碼不允許多行)locked:指定是否可被編輯,默認(rèn)false表可編輯;值為true相當(dāng)于標(biāo)簽selstart:選定的正文開始位置sellength:選定的正文長度seltext:選定的正文內(nèi)容(設(shè)置selstart、sellength后,seltext 自動存放指定的文本)事件:changed事件:屬性值發(fā)生改變時引發(fā)該事件keypress事件:按下并釋放鍵,引發(fā)的事件,鍵值存在參數(shù)keyascii lostfocus事件:對象失去焦點(diǎn)發(fā)生的事件(數(shù)據(jù)驗(yàn)證確認(rèn);檢查text屬性內(nèi)容)gotfocus事件:對象獲得
10、焦點(diǎn)時發(fā)生方法:最有用是setfocus;形式: 對象. setfocus命令按鈕:程序運(yùn)行時執(zhí)行相應(yīng)的事件 屬性:caption:按鈕上顯示的文字style:按鈕樣式(0不顯示圖形;1可顯示圖形文字)picture:在按鈕裝入圖形tooltiptext:加以文字提示事件:一般接收click事件 第3章 vb語言基礎(chǔ)3.1 數(shù)據(jù)類型3.2 變量和常量 變量:在程序運(yùn)行中其存儲的值可以改變規(guī)則:必須以字母或漢字開頭,由字母漢字?jǐn)?shù)字或下劃線組成,長度255個字符不能使用vb中的關(guān)鍵字;不區(qū)分大小寫,一般變量名首字母大寫聲明格式:dim 變量名 as 類型(as部分缺省則為變體類型 )ex:dim
11、m,n as integer,x,y as single 常量:用大寫字母表示直接常量:其常數(shù)值直接反映了其類型 符號常量:用戶聲明,便于程序閱讀或修改 格式:const 符號常量名 as 類型 = 表達(dá)式ex:const pi = 3.14159 系統(tǒng)常量:系統(tǒng)提供許多內(nèi)部常量 ex:vbcrlf:回車/換行組合符3.3 運(yùn)算符和表達(dá)式 算術(shù)運(yùn)算符(算術(shù)運(yùn)算符兩邊操作數(shù)應(yīng)是數(shù)值型,數(shù)字字符或邏輯型自動轉(zhuǎn)成數(shù)值類型)字符串運(yùn)算符&:兩旁的操作數(shù)可任意,轉(zhuǎn)換成字符型后再連接+:兩旁的操作數(shù)應(yīng)均為字符型都為數(shù)值型則進(jìn)行算術(shù)加運(yùn)算一個為數(shù)字字符,另一個為數(shù)值,自動將數(shù)字字符轉(zhuǎn)換為數(shù)值后進(jìn)行算術(shù)加一個
12、為非數(shù)字字符,另一個為數(shù)值型,出錯 運(yùn)算符例結(jié)果= abcde = abr false abcde abr false=“ bc” = “大小 false233false= 23 = 3 true abc abcde true邏輯運(yùn)算符數(shù)據(jù)類型的轉(zhuǎn)換:integerlongsingledouble=字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算內(nèi)部函數(shù):數(shù)學(xué)函數(shù)ex:產(chǎn)生ab的之間的隨機(jī)整數(shù):int(rnd *(b-a)+a)轉(zhuǎn)換函數(shù)字符串函數(shù)日期函數(shù)ex:計(jì)算現(xiàn)在到2007年6月30日有多少天? datediff(d, now, #6/30/2007#) shell函數(shù):可調(diào)用各種應(yīng)用程序格式:shell(命
13、令字符串,窗口類型)命令字符串:應(yīng)用程序名(包括路徑.com、.exe、.bat) 窗口類型:執(zhí)行應(yīng)用程序的窗口狀態(tài),04,6的整型數(shù)值,1表示正常窗口狀態(tài)。 函數(shù)調(diào)用成功返回一個任務(wù)標(biāo)識id,不成功,則返回0。3.4 程序結(jié)構(gòu)和編碼規(guī)則 編碼規(guī)則代碼不區(qū)分字母的大小寫;關(guān)鍵字首字母自動變大寫,其余變小寫;自定義變量以后輸入自動變?yōu)槭状味x形式語句書寫自由,一行上可寫多句語句(冒號分隔),一行最多255個字符;單行語句可分若干行書寫,在行末加入續(xù)行符(空格和下劃線)第4章 vb控制結(jié)構(gòu)4.1 順序結(jié)構(gòu) 賦值語句:變量名表達(dá)式(左邊只能是變量,不能是常量、常數(shù)符號、表達(dá)式)數(shù)據(jù)輸出和輸入:inp
14、utbox函數(shù):打開個對話框,等待用戶輸入,返回字符串類型的輸入值形式:inputbox(提示,標(biāo)題,默認(rèn)值,x坐標(biāo)位置,y坐標(biāo)位置)(提示項(xiàng)不能省略;多行提示可在每行行末加回車換行vbcrlf)msgbox函數(shù):打開信息框,等待用戶選擇一個按按鈕;函數(shù)返回所選按鈕的值,過程不返回值msgbox函數(shù)形式:變量% = msgbox(提示,按鈕,標(biāo)題)msgbox過程形式:msgbox 提示,按鈕,標(biāo)題 按鈕是整型表達(dá)式,決定信息框按鈕數(shù)目和類型及出現(xiàn)信息框上的圖標(biāo)形式 msgbox按鈕設(shè)置msgbox按鈕返回值內(nèi)部常數(shù) 返回值 被單擊的按鈕 vbok1確定 vbcancel2取消 vbabort
15、3終止 vbretry4重試 vbignore5忽略 vbyes6是 vbno7否 ex:private sub form_load()text1.text = text1.maxlength = 6text2.text = text2.maxlength = 4text2.passwordchar = *“end sub private sub text1_lostfocus() if not isnumeric(text1.text) then msgbox “帳號必須為數(shù)字”, , “警告 text1.text = text1.setfocus end ifend sub private
16、 sub command1_click() dim i as integer if text2.text gong then i = msgbox(“密碼錯誤”, 5 + vbexclamation, “警告) if i 4 then end else text2.text = text2.setfocus end if else msgbox “密碼校驗(yàn)成功! end ifend sub print函數(shù):形式:對象.printspc(n)|tab(n)輸出列表 ;|,對象:窗體、圖形框或打印機(jī),默認(rèn)為窗體;spc(n)函數(shù):從當(dāng)前位置起空n個空格tab(n)函數(shù):從最左端開始計(jì)算的第n列分號
17、:定位在上一個被顯示的字符之后逗號:定位在下一個打印區(qū)開始處(每區(qū)14列)format格式輸出函數(shù):形式: format (表達(dá)式, 格式字符串)4.2 選擇結(jié)構(gòu) if條件語句形式: if then 語句塊elseif then語句快2else語句塊3 end if或 if then elseex:已知變量ch中存放了一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符if ucase(ch) = a and ucase(ch) = 0 and ch = 9 then 數(shù)字字符 msgbox(ch + 是數(shù)字字符) else 除上述字符以外的字符 msgbox(ch + 是其他字符) end
18、ifif語句的嵌套格式:if 表達(dá)式1 thenif 表達(dá)式2 thenend ifend if select case語句 格式: select case 變量或表達(dá)式case 表達(dá)式列表1 語句塊1 case 表達(dá)式列表2 語句塊2case else 語句塊n+1end select(表達(dá)式: a;枚舉值2,4,6,8;60 to 100;is0時初值終值;=1可省略;終值;=0時死循環(huán))ex:計(jì)算1100的奇數(shù)和dim i%, sum%for i = 1 to 100 step 2sum = sum + i next i msgbox(sum)do-loop循環(huán)語句:do循環(huán)用于控制循環(huán)
19、次數(shù)未知的循環(huán)結(jié)構(gòu)形式1: do while|until 語句塊exit do 語句塊loop形式2:do 語句塊exit do 語句塊loop while|until 4.4 其它輔助控制語句 go to 語句:無條件地轉(zhuǎn)移到標(biāo)號或行號指定的那行語句格式:go to 標(biāo)號|行號exit語句用于退出某種控制結(jié)構(gòu)的執(zhí)行 格式:exit for、exit do、exit sub、exit function end語句:獨(dú)立的end語句用于結(jié)束一個程序的運(yùn)行,它可以放在任何事件過程中4.5 綜合應(yīng)用 ex:用輾轉(zhuǎn)相除法求兩自然數(shù)的最大公約數(shù)。求最大公約數(shù)的算法思想:(1)對于兩數(shù)m,n,使得mn (
20、2) m除以n得余數(shù)r (3)若r=0,則n為最大公約數(shù),結(jié)束;否則執(zhí)行(4)(4)m=n,n=r,再重復(fù)執(zhí)行(2)4.6 程序調(diào)試 錯誤類型:語法錯誤、運(yùn)行時錯誤和邏輯錯誤調(diào)試和排錯f9設(shè)置跟蹤-f8跟蹤-鼠標(biāo)指向變量第5章 數(shù)組和自定義類型5.1 數(shù)組的概念ex:求100個學(xué)生的平均成績,并統(tǒng)計(jì)高于平均分的人數(shù)。用簡單變量和循環(huán),求平均成績dim mark(99) as integer 聲明數(shù)組markdim aver!, overn%, i%aver = 0 for i = 0 to 99 輸入成績,求分?jǐn)?shù)和mark(i) = inputbox(輸入學(xué)生的成績)aver = aver +
21、 mark(i)next i aver = aver / 100 求100人的平均分overn = 0for i = 0 to 99 統(tǒng)計(jì)高于平均分的人數(shù)if mark(i) aver then overn = overn + 1next i msgbox (平均分: & aver & 高于平均分人數(shù): & overn) 數(shù)組:相同類型變量的集合,數(shù)組必須先后使用,聲明后在內(nèi)存可分配一塊連續(xù)區(qū)域格式:dim 數(shù)組名(下標(biāo)上界1,下標(biāo)上界2) as 類型(數(shù)組每維大小為下標(biāo)上界+1)ex:dim mark(2,2) as long (3*3數(shù)組)動態(tài)數(shù)組建立動態(tài)數(shù)組要分兩步:用dim 語句聲明數(shù)
22、組,但不能指定數(shù)組大小dim 數(shù)組名( ) as 數(shù)據(jù)類型用redim語句動態(tài)地分配元素個數(shù)redim 數(shù)組名 (下標(biāo),下標(biāo)2)ex:dim s ( ) as single sub form_load( )redim s(4,8)end sub (dim 是說明語句, redim 是執(zhí)行語句;過程中可多次用redim語句來改變數(shù)組的大小,但不能改變維數(shù)和類型在redim 后加preserve參數(shù)用來保留數(shù)組中的數(shù)據(jù),使用后只能改變最后一維的大?。?shù)組的輸入 通過textbox控件或inputbox函數(shù)輸入ex:dim s(3,4) as integerfor i = 0 to 3 for j
23、= 0 to 4 s(i,j) = inputbox(輸入 & i &“, & j & 元素) next jnext i 數(shù)組排序方法:選擇法、冒泡法、插入法、合并排序5.3 列表框和組合框列表框:可顯示多個選項(xiàng)供用戶選擇,不能直接修改其中的內(nèi)容組合框:組合了文本框和列表框的特性而形成的一種控件。列表框和組合框重要屬性list:是一個集合listindex:選項(xiàng)的序號(從0開始)listcount:項(xiàng)目數(shù)量 sorted:排序text:被選定的文本內(nèi)容 ex:list1.listindex = 2list1.listcount = 6list1.sorted = falselist1.text
24、 為 c/c+程序設(shè)計(jì) (list1.list(list1.listindex)等于list1.text)常用方法additem:把一個項(xiàng)目加入列表形式:對象.additem 項(xiàng)目字符串 ,索引值(索引值:決定新增項(xiàng)在列表中的位置,如果省略,則新增項(xiàng)目添加在最后)removeitem:刪除列表中指定項(xiàng)目 形式:對象.removeitem 索引值clear:清除列表中所有項(xiàng)目ex:list1.clear 重要事件列表框:click、dblclick 組合框:click5.4 自定義類型及數(shù)組type語句:不同類型數(shù)據(jù)的集合形式:type 自定義類型名元素名1 as 數(shù)據(jù)類型名 元素名n as 數(shù)
25、據(jù)類型名end type (自定義類型一般在標(biāo)準(zhǔn)模塊文件定義,默認(rèn)public;在窗體模塊定義,須加private)自定義類型的聲明形式:dim 變量名 as 自定義類型名ex:dim s1 as studtype,s2 as studtype 自定義類型變量成員的引用引用自定義類型變量中的某個成員,形式如下:自定義類型變量名.成員名例如, s1.name s1變量中的姓名 s1.sex 性別可利用with語句簡化成員引用:with 結(jié)構(gòu)變量對象名 語句塊 end with5.5 綜合應(yīng)用-分類統(tǒng)計(jì)數(shù)據(jù)輸入ex:輸入一系列數(shù)據(jù)將它們按分隔符分離存在數(shù)組中。對輸入的數(shù)據(jù)允許修改和自動識別非數(shù)字?jǐn)?shù)
26、據(jù)。利用文本框輸入和編輯數(shù)據(jù);利用replace函數(shù)去除重復(fù)輸入的分隔符。利用split函數(shù)將輸入的內(nèi)容分離到數(shù)組中。第6章 過程6.1 函數(shù)過程的定義與調(diào)用 函數(shù)過程的定義:函數(shù)過程名+%表示返回空值形式:public |private function函數(shù)過程(形參)as 類型 變量聲明 語句塊 return 表達(dá)式 或 函數(shù)名=表達(dá)式 end functionex:編一求最大公約數(shù)的函數(shù)過程 function gcd( m%, n%) as integer if m n then t = m: m = n: n = t do while n0 r = m mod n : m = n: n
27、 = r loop gcd = m end functionex:已知多邊形各條邊的長度,計(jì)算多邊形的面積。function area(x!, y!, z!) as single dim c! c = 1 / 2 * (x + y + z) area = sqrt(c * (c - x) * (c - y) * (c - z)end functionsub command1_click() 輸入若干個三角形邊長 s=area(a,b,c)+area(c,d,e)+area(e,f,g) msgbox(“面積=” & s)end sub6.2 子過程的定義與調(diào)用 子過程特點(diǎn)不是為了獲得某個函數(shù)值
28、,而是為了某種功能的處理要獲得多個結(jié)果子過程沒有數(shù)據(jù)類型和值子過程的定義形式:sub 子過程名(參數(shù)列表) 局部變量或常數(shù)定義 語句 exit sub 語句end sub子過程調(diào)用call 子過程名(實(shí)參列表)子過程名 (實(shí)參列表)形參:形參名+%形參沒有具體的值,只代表了參數(shù)的個數(shù)、位置、類型只能是簡單變量、數(shù)組名,不能是常量、數(shù)組元素、表達(dá)式實(shí)參實(shí)參只能是變量(與形參同類型的簡單變量、數(shù)組名、結(jié)構(gòu)類型) 6.3 參數(shù)傳遞 形參傳遞:只要關(guān)心形參的個數(shù)、類型、位置;按位傳遞傳址與傳值:實(shí)參與形參的結(jié)合傳址byref:將實(shí)參的地址傳遞給形參。對形參的操作=對相應(yīng)實(shí)參的操作傳值byval:將實(shí)參
29、的值復(fù)制給形參,實(shí)參與形參斷開了聯(lián)系 (形參是數(shù)組都是地址傳遞)ex:如下sum子過程求數(shù)組a各元素和、并改變數(shù)組各元素值:function sum%(byval x() as integer) dim i%sum = 0for i = 0 to ubound(x)sum += x(i):x(i) = 2 * x(i)next i end function數(shù)組參數(shù)的傳遞形參是數(shù)組:要以數(shù)組名加圓括號表示,不要給出維數(shù)上界多維數(shù)組,每維以逗號分隔,在過程中通過ubound函數(shù)確定每維的上界實(shí)參是數(shù)組:要給出數(shù)組名(不需要圓括號)(數(shù)組作為參數(shù)傳遞是將實(shí)參數(shù)組的起始地址傳給過程,使形參數(shù)組也具有與
30、實(shí)參數(shù)組相同的起始地址)變量的作用域塊變量:在控制結(jié)構(gòu)塊中聲明的變量,只能在本塊內(nèi)有效(變量名%)過程級變量:在一個過程內(nèi)用dim或static語句聲明的變量,只能在本過程中使用 模塊級變量:模塊內(nèi),任何過程外用dim、private語句聲明的變量,在本模塊有效全局變量:在模塊級用public語句聲明的變量,可被應(yīng)用程序的任何過程或函數(shù)訪問靜態(tài)變量:程序運(yùn)行過程中可保留變量的值 形式:static 變量名 as 類型(用dim聲明的變量,每次調(diào)用過程時重新初始化)6.4 遞 歸 遞歸:在自身定義的內(nèi)部調(diào)用自己ex:編fac(n)=n! 的遞歸函數(shù)function fac(n as intege
31、r) as integer if n = 1 then fac = 1 elsefac = n * fac(n - 1) end ifend function第7章 用戶界面設(shè)計(jì)7.1 常用控件 單選按鈕(optionbutton)單選按鈕以組的形式出現(xiàn),允許選擇一項(xiàng)重要屬性 caption屬性:按鈕上顯示的文本value屬性:表示單選按鈕的狀態(tài):true-被選定;false-未被選定重要事件click事件 單擊后使value屬性為true復(fù)選框(checkbox)value屬性-復(fù)選框的狀態(tài): 0-vbunchecked未選定;1-vbchecked被選定;2-vbgrayed灰色,并顯示一
32、個選中標(biāo)記重要事件click事件框架 (frame)具有容器功能:先建立框架,然后將各控件放置其中caption屬性:框架上的標(biāo)題文本(框架可以響應(yīng)click和doubleclick事件,但一般不需要編寫事件過程)滾動條(scrollbar):通常附在窗體上協(xié)助觀察數(shù)據(jù)或確定位置,也可作為數(shù)據(jù)輸入工具滾動條有水平和垂直兩種滾動條屬性value:滑塊當(dāng)前位置的值(缺省為0) min:滑塊最小位置值(缺省為0) max:滑塊最大位置值 smallchange:單擊滾動條兩端的箭頭時,value屬性(滑塊位置)改變值largechange:單擊滾動條的空白區(qū)域時,value屬性改變值滾動條事件scr
33、oll:當(dāng)拖動滑塊時觸發(fā) changed:改變value屬性時觸發(fā)進(jìn)度條(progressbar):用來指示事務(wù)處理的進(jìn)度。progressbar控件max和min 設(shè)置控件的界限,value 控件執(zhí)行階段被填充的數(shù)目,直到等于max屬性值控件顯示的填充數(shù)是value屬性與max和min屬性之間的比值ex:下載文件,可將max設(shè)置為文件長度下載文件,將value屬性設(shè)置為文件已經(jīng)下載的字節(jié)數(shù)圖形框picturebox控件 顯示圖片,也可作為其他控件的容器在程序運(yùn)行時裝入圖形:圖形框.picture = loadpicture(圖形文件名)刪除圖形框中圖形:loadpicture() autos
34、ize屬性 true 圖形框自動調(diào)整大小與圖片匹配 false 圖形超過圖形框的部分將被剪裁掉圖像框image特點(diǎn):圖像框占用更少的內(nèi)存,描繪得更快;圖像框內(nèi)不能存放其他控件stretch屬性 false 圖像框自動改變大小適應(yīng)其中的圖形 true 圖形根據(jù)圖像框的大小自動調(diào)整尺寸定時器:以一定的時間間隔產(chǎn)生timer事件屬性:enabled:為false時定時器不產(chǎn)生tick事件interval:觸發(fā)timer事件的時間間隔(ms)事件:定時器控件只有一個timer事件(條件enabled=true; interval0)7.2 通用對話框 通用對話框:在窗體上創(chuàng)建打開文件、保存文件、顏色、
35、字體、打印等對話框(通用對話框是輸入輸出的界面,不能真正實(shí)現(xiàn)操作)通用對話框的基本屬性和方法action屬性和show方法:(該屬性只能在程序中賦值)dialogtiltle屬性:設(shè)置通用對話框標(biāo)題cancelerror屬性 true:選擇取消按鈕,err.number設(shè)置為32755(cdcancel) false:選擇取消按鈕,沒有錯誤警告打開文件對話框:showopen重要屬性 :filename:文件名稱,包含路徑filetitle:文件名,不包含路徑filter:確定所顯示文件的類型 ex:text files|*.txt|所有文件|*.*顯示文本文件和所有文件filterindex
36、:文件列表中指定某類型文件initdir:初始化路徑 保存文件對話框:showsave與showopen的屬性基本相同特有屬性:defaultext屬性-用于設(shè)置缺省的擴(kuò)展名ex:sub command2_click () commondialog1.showsave open commondialog1.filename for output as #1 print #1, text1.text 保存文件 close #1 關(guān)閉文件end sub 顏色對話框:showcolor重要屬性color:返回或設(shè)置選定的顏色 ex:設(shè)置按鈕顏色sub command3_click ()commondialog1.showcolor text1.forecolor = commondialog1.color end sub字體對話框:showfontfont:獲取選擇的字體color:選定的顏色 (必須先設(shè)置flags屬性,否則將發(fā)生不存在字體錯誤,通常設(shè)置為h103)7.3 菜單設(shè)計(jì) 菜單編輯器分隔線: 在標(biāo)題欄輸入一個連字符“-” 標(biāo)題熱鍵:前面加&(“新建(&n)”)菜單項(xiàng)重要屬性:name、visible、enabled等text:菜單項(xiàng)上顯示的標(biāo)題文本shortcut:設(shè)置菜單項(xiàng)的快捷鍵。 c
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地開發(fā)補(bǔ)償協(xié)議格式
- 工程合同中的違約責(zé)任認(rèn)定
- 兼職銷售代表協(xié)議書
- 裝修翻新施工合同范本2024年
- 經(jīng)典民房出租協(xié)議樣本
- 房屋買賣轉(zhuǎn)讓中介合同樣本
- 2024年洗車店承包合同常用范本
- 淘寶店鋪轉(zhuǎn)讓合同范例
- 標(biāo)準(zhǔn)租賃土地合同模板
- 水泥運(yùn)輸合同格式
- 《習(xí)作:筆尖流出的故事》教案-2024-2025學(xué)年六年級上冊語文統(tǒng)編版
- 2024年華僑、港澳、臺聯(lián)考高考數(shù)學(xué)試卷含答案
- 2024統(tǒng)編版新教材道德與法治七年級全冊內(nèi)容解讀課件(深度)
- 五級應(yīng)急救援員職業(yè)鑒定考試題庫(含答案)
- 第7課 實(shí)踐出真知-【中職專用】2024年中職思想政治《哲學(xué)與人生》金牌課件(高教版2023·基礎(chǔ)模塊)
- 第十二屆廣東省安全知識競賽暨粵港澳安全知識競賽選拔賽考試題庫資料(含答案)
- 三年級數(shù)學(xué)上冊典型例題系列之第一單元:時間計(jì)算問題專項(xiàng)練習(xí)(原卷版+解析)
- 人教版數(shù)學(xué)五年級上冊5.1《用字母表示數(shù)》說課稿
- 大量收購青苗姜合同
- 個人醫(yī)保承諾書模板
- 2024年農(nóng)業(yè)農(nóng)村知識考試必背復(fù)習(xí)題庫(濃縮500題)
評論
0/150
提交評論