計算機軟件各種各樣,每個軟件都有各自不同的特點和功能热康,根據(jù)我們所要解決的問題的不同沛申,可以選擇不同的軟件。如果用文字處理軟件處理文字姐军,用電子表格軟件處理數(shù)據(jù)铁材,用瀏覽器上網(wǎng)漫游等等。這些軟件可以有效的完成人們交給的任務庶弃,給人們的學習衫贬、生活帶來了很大的方便德澈。
程序就是解決問題的若干計算機指令歇攻,程序設計就是將實際問題轉(zhuǎn)化為用計算機語言實現(xiàn)的過程。因此梆造,為了更好缴守、更深入的了解與應用計算機,學習一些計算機程序設計的基礎知識是很有必要的镇辉。學習程序設計也是對養(yǎng)成良好思維習慣的訓練屡穗。要想學好程序設計,首先就是要把日常解決問題的方法忽肛,按照一定的條理理順村砂,然后就是動手上機實踐。
Visual Basic是一種可視化的程序開發(fā)工具屹逛〈》希”Visual”一詞翻譯成中文是“可視的汛骂、形象的”,它指的是開發(fā)圖形用戶界面(GUI,即Graphic User Interface)的方法评腺。這種方法不需要編寫大量的代碼去描述界面元素的外觀和設置帘瞭,而只要把預先建立的對象添加到屏幕上的適當?shù)奈恢眉纯伞_@樣蒿讥,軟件設計人員就能在較短的時間內(nèi)蝶念,以及少的程序量開發(fā)出同Windows界面效果一致的應用程序。本章將以Visual Basic為例芋绸,通過一些簡單有趣的程序設計實例媒殉,介紹程序設計的基本方法和基本技能。
啟動摔敛、退出Visual Basic系統(tǒng)适袜,與啟動其他Windows環(huán)境下的應用軟件相同,即從任務欄中執(zhí)行“開始”->“程序”->“Microsoft Visual Basic 6.0”->”Visual Basic6.0”(以啟動 Visual Basic 6.0版為例)舷夺。
Visual Basic系統(tǒng)的界面除與一般的Windows應用程序窗口類似苦酱,有標題欄、菜單欄给猾、工具欄外疫萤,還有工具箱、工程對象窗口敢伸、工程資源管理器窗口扯饶、屬性窗口和窗體布局窗口等,如圖所示池颈。
為了用Visual Basic創(chuàng)建應用程序尾序,應當使用工程(Project)。一個工程是用來建造應用程序的文件的集合躯砰。工程對象窗口就是”繪制”應用程序界面的窗口每币,也叫窗體設計器。因此琢歇,打開工程對象窗口系統(tǒng)一般都會自動彈出一個窗體(就是所設計應用程序的窗口)兰怠。工程資源管理器管理當前工程中所有的文件,即文件的集合李茫。在窗體布局窗口中揭保,可以看到所設計的界面在屏幕中的位置。工具箱和屬性窗口則是用來為設計界面提供工具或設置參數(shù)的魄宏。
[圖片上傳失敗...(image-4994e-1577361030242)]
?
點此圖標安裝Visual Basic6.0軟件[圖片上傳失敗...(image-9092d2-1577361030242)]
?(請殺毒后再安裝)秸侣。
**** 第1節(jié) 開發(fā)應用程序的基本步驟****
本節(jié)通過一個簡單的任務熟悉Visual Basic開發(fā)環(huán)境,初步了解有關的基本概念及在Visual Basic中編寫程序的基本步驟,在后續(xù)任務中會逐步加深理解并掌握這些基本概念和基本步驟味榛。
【學習任務】
制作一個如圖所示的交通紅綠燈程序:當單擊紅燈選項時方篮,紅燈亮;當單擊黃燈選項時励负,黃燈亮藕溅;當單擊綠燈選項時,綠燈亮继榆。
[圖片上傳失敗...(image-a652b4-1577361030242)]
?[圖片上傳失敗...(image-3c58b8-1577361030242)]
?[圖片上傳失敗...(image-deb731-1577361030242)]
?
[任務分析]
1.規(guī)劃程序界面
(1)紅燈巾表、黃燈、綠燈不能同時選擇略吨,即只能單選集币,因此,應該使用選項按鈕翠忠。
(2)紅綠燈實際上是三幅不同的圖片鞠苟,所以需要三個可以放置圖片的對象。
2.程序運行分析
(1)當選中“紅燈”選項時秽之,應該顯示紅燈亮的圖片当娱,另外兩幅圖片可以隱藏起來。
(2)當選中“黃燈”選項時考榨,應該顯示黃燈亮的圖片跨细,另外兩幅圖片可以隱藏起來。
(3)當選中“綠燈”選項時河质,應該顯示綠燈亮的圖片冀惭,另外兩幅圖片可以隱藏起來。
【操作指南】
****1.創(chuàng)建用戶界面****
(1)執(zhí)行“文件”->“新建工程”命令掀鹅,如圖所示的“新建工程”對話框中散休,選擇“標準EXE”后單擊“確定”按鈕,屏幕會顯示一個如圖的工程對象窗口(也稱窗體設計器)乐尊,這個窗口內(nèi)有一個“窗口”戚丸,我們稱它為“窗體”(Form)。
[圖片上傳失敗...(image-c548b7-1577361030242)]
?[圖片上傳失敗...(image-ce560c-1577361030242)]
?
從圖中可以看到窗體的四周有8個點科吭,拖動這些點可以調(diào)整窗體的大小昏滴。
(2)添加選項按鈕。
1.在Visual Basic工具箱中雙擊“OptionButton”(選項按鈕)[圖片上傳失敗...(image-f0b95b-1577361030242)]
?对人,在窗體中就多了一個選項按鈕對象。
2.調(diào)整對象大小并移動到適當位置拂共。將鼠標指針指向?qū)ο蟛⑼蟿邮髽丝梢苿訉ο笪恢谩?br>
3.在屬性窗口中左側(cè)的列表中選擇“Caption”(標題)牺弄,此時其右側(cè)框中顯示為“Option1”,單擊右側(cè)的框宜狐,將“Option1”改為“紅燈”势告,如圖蛇捌,窗體的選項按鈕的提示信息也同樣被改變。
4.用同樣的方法添加第2個選項按鈕為“黃燈”咱台,第三個選項按鈕為“綠燈”络拌。
[圖片上傳失敗...(image-32ab84-1577361030242)]
?
(3)添加圖像對象。
1.在Visual Basic 工具箱中雙擊“Image”(圖像)按鈕回溺,調(diào)整大小并移動到適當位置春贸。
2.在屬性窗口的列表中選擇“Stretch”(伸展),單擊右側(cè)的[圖片上傳失敗...(image-1311bc-1577361030242)]
?按鈕遗遵,選擇下拉列表的“True”(真)萍恕,這樣可使加載的圖像自動適應圖像框的大小。
3.在屬性窗口的列表中選擇“Picture”(圖片)车要,單擊右側(cè)的[圖片上傳失敗...(image-59f6ee-1577361030242)]
?按鈕允粤,在“加載圖片”對話框中選擇文件,然后單擊“打開”按鈕翼岁,圖像對象中顯示出紅燈亮的紅綠燈类垫,如圖。
[圖片上傳失敗...(image-267ba3-1577361030242)]
?
4.在屬性窗口的列表中選擇“Visible”(可見的)琅坡,單擊右側(cè)的[圖片上傳失敗...(image-5b1c0-1577361030242)]
?按鈕阔挠,選擇下拉表的“False”(假),則在運行時對象不可見脑蠕。
5.用同樣的方法添加的2购撼、3個圖像對象,這兩個對象與第1個圖像對象完全重合谴仙。
****2.編寫程序****
(1)當程序運行時迂求,鼠標單擊“紅燈”選項可以選中該項,對于這個事件晃跺,程序的反應是紅燈亮的圖片顯示揩局,另外兩幅圖片不顯示。為表示這一過程掀虎,在窗體設計器中雙擊“紅燈”選項按鈕凌盯,在代碼窗口中輸入如圖所示代碼。
[圖片上傳失敗...(image-e98236-1577361030242)]
?[圖片上傳失敗...(image-c1b2a1-1577361030242)]
?[圖片上傳失敗...(image-7677ab-1577361030242)]
?
事件就是在對象上發(fā)生的動作烹玉,針對事件做出的反應驰怎,就稱為“事件過程”。事件過程是通過代碼實現(xiàn)的二打,它必須要有名稱县忌,其名稱由對象名和事件組成。如系統(tǒng)賦予“紅燈”選項的名稱為“Option1”(可在屬性列表中找到),用戶的動作是“單擊”症杏,因此装获,該事件過程的名稱為“Option1_Click”。
(2)在窗體設計器中(如看不到可以按Shift+F7鍵)雙擊“黃燈”選項按鈕厉颤,在代碼窗口中按如圖輸入相應的部分代碼穴豫。
(3)在窗體設計器中雙擊“綠燈”選項按鈕,在代碼窗口中按如圖輸入相應部分代碼逼友。
****3.運行程序****
(1)執(zhí)行“運行”->“啟動”命令精肃。
(2)在如圖所示窗口中分別選中“紅燈”、“黃燈”翁逞、“綠燈”選項按鈕肋杖,觀察顯示的紅綠燈是否與之對應。
[圖片上傳失敗...(image-5483af-1577361030241)]
?
(3)執(zhí)行“運行”->“結(jié)束”命令挖函,停止程序運行状植,返回設計界面。
如果程序不能按設計要求正確運行怨喘,停止程序運行后仔細檢查前面所有操作步驟是否有問題津畸。如果有問題重新修改后再運行,直到完全按設計要求正確運行為止必怜。
****4.保存文件****
(1)執(zhí)行“文件”->“保存工程”命令肉拓。
(2)在打開的“文件另存為”對話框中,選擇適當?shù)奈募A梳庆,并輸入文件名“紅綠燈”暖途,如圖所示(注意文件的默認擴展名),單擊保存按鈕膏执。
[圖片上傳失敗...(image-a3677d-1577361030241)]
?
(3)在打開的“工程另存為”對話框中驻售,同樣選擇適當?shù)奈募A,并輸入文件名“紅綠燈”更米,如圖所示(注意文件的默認擴展名)欺栗,單擊“保存”按鈕。
[圖片上傳失敗...(image-1d0262-1577361030241)]
?
(4)執(zhí)行“文件”->“生成紅綠燈.exe”生成應用程序征峦。
[任務小結(jié)]
通過本任務有如下收獲:
(1)可以認識程序和做其他事一樣迟几,先要對其他事進行分析,然后根據(jù)分析結(jié)果確定解決問題的方法和步驟栏笆,這就是算法类腮。
(2)了解Visual Basic 程序設計的一些基本概念,盡管對這些概念還不能完全理解竖伯,但在不斷的學習過程中將進一步加深對它們的理解存哲。其中對象和事件是 Visual Basic 的核心概念因宇。
(3)了解用 Visual Basic 進行程序設計的基本過程七婴,其中包括創(chuàng)建用戶界面(包括繪制界面和設置屬性)祟偷、編寫程序(包括事件分析和編寫代碼)、運行調(diào)試打厘、保存程序四個步驟修肠。
[相關知識]
****1.基本概念****
(1)窗體(Form):是應用程序的窗口或?qū)υ捒颍谴翱诘闹黧w户盯。
(2)控件(Control):是工具箱中可以被放置在窗體上的元素嵌施。
(3)對象(Object):視是窗體和放置在窗體中的控件。
(4)屬性(Property):表示對象的特性莽鸭,如名稱吗伤、大小、顏色硫眨、位置足淆、是否可用、是否可見等礁阁。
(5)事件(Event):是在對象上發(fā)生的動作巧号,如單擊鼠標、雙擊鼠標姥闭、移動鼠標丹鸿、輸入字符等。這些都是Visual Basic 系統(tǒng)為各對象預先定義且能夠被該對象正確識別的動作棚品。事件可由用戶操作觸發(fā)靠欢,可由程序代碼產(chǎn)生,也可由系統(tǒng)本身觸發(fā)铜跑。
(6)代碼(Code):是針對事件編寫的门怪、指揮計算機工作的命令。
(7)事件過程(Event Procedure):事件作用在對象上時產(chǎn)生的反應疼进。這個反應通過程序代碼體現(xiàn)薪缆。
****2.在Visual Basic 中編寫程序的基本步驟****
(1)用戶界面設計沮协。
首先繪制程序界面荠雕,然后設置個對象屬性。
設計一個用戶界面并不難玲躯,但設計一個用戶喜愛的界面卻并不容易嚼锄,一定要注意簡潔清楚减拭,搭配合理,操作簡便区丑。
“繪制”界面的過程非常簡單拧粪,在工具箱中選擇適當?shù)墓ぞ咝薅福⒃诖绑w設計器中調(diào)整大小和位置,或在窗體設計器中根據(jù)對象的大小拖動鼠標可霎。
一般來說魄鸦,每創(chuàng)建一個對象,系統(tǒng)會自動賦予所創(chuàng)建的對象一組屬性值癣朗。我們只需對其中的個別屬性進行重新設置拾因。
重新設置屬性可以在設計時完成,也可以在運行時完成旷余。
設計時設置屬性是在屬性窗口中完成绢记。首先選擇對象(在窗體設計器中單擊對象,或在屬性窗口的對象框中選擇)正卧,然后在屬性列表中選擇要修改的屬性并重新設置蠢熄。
運行時設置屬性是是通過在代碼窗口編寫代碼,然后運行代碼完成的炉旷。設置屬性的代碼格式為:
對象名.屬性=屬性值
在所有對象屬性中签孔,有一個屬性建議大家一定要重新設置,這個屬性就是“名稱”(Name)砾跃。盡管系統(tǒng)為所有的對象都提供了名稱骏啰,但系統(tǒng)所給出的名稱,與該對象在程序中實際所起的作用沒有對應關系抽高,這給程序的編寫與維護帶來不便判耕。如第1個應用程序中的“紅燈”選項按鈕的默認名稱為“Option1”,由此我們可以知道它是一個選項按鈕翘骂,但是這個按鈕是干什么用的壁熄,就不得而知了。如果它的名稱為“OptRed”碳竟,那么由前綴可以知道這是一個選項按鈕草丧,由后面的單詞“Red”可以知道這個選項按鈕是用于選擇紅燈的。這樣的名稱可以幫助區(qū)分各個對象莹桅,也有利于記憶昌执。學習程序設計一開始就要養(yǎng)成一個良好的習慣——對于每一個對象都要設置名稱屬性。(常用各對象的名稱前綴參見下表)
[圖片上傳失敗...(image-3923da-1577361030241)]
?
(2)編寫程序诈泼。
首先進行事件分析懂拾,然后對分析編寫個事件過程代碼。
所謂事件分析就是考慮在程序運行時會有哪些動作铐达,這些動作實施在什么對象上岖赋,每個動作需要計算機做出什么反應等等。事件分析一定要準確瓮孙,準確的分析既可以保證程序按設計要求運行唐断,也可以使編寫程序變得非常容易选脊。
一般來說,一個對象可以識別多個動作脸甘,如單擊鼠標恳啥、雙擊鼠標、移動鼠標等斤程。也就是說角寸,一個對象可以識別一個以上的事件菩混。因此忿墅,一個對象也就可能就有一個以上的事件過程,以保證針對不同的動作可以做出相應的處理沮峡。雖然一個對象可能包含多個事件過程疚脐,但并不是每個事件都需要編寫相應的事件過程。同樣的事件如果發(fā)生在不同的對象上邢疙,所引起的反應可能也不盡相同棍弄。因此,在實際Visual Basic 程序設計中疟游,需要對哪一個對象的哪一個事件做出什么樣的反應呼畸,完全根據(jù)該應用程序的使用要求和程序的設計目標而定,這就是事件分析颁虐。
事件過程就是針對某一事件需要計算機做出什么樣的反應蛮原,通過一些命令告訴計算機,這些命令的組合就是程序另绩。
(3)運行調(diào)試儒陨。
運行調(diào)試是指通過運行發(fā)現(xiàn)程序的錯誤,然后進行修改笋籽,再運行蹦漠,再修改,直至程序運行正確無誤车海,且滿足程序設計要求笛园。
運行調(diào)試不能忽略。通過運行調(diào)試既可以保證編寫的程序不會有錯誤侍芝,同時還可以檢驗我們考慮問題是否周到研铆。
在學習的過程中,即使調(diào)試完成竭贩,還可以給自己提出更高的要求蚜印,把程序完成的更出色。如“紅綠燈”程序在調(diào)試的過程中留量,如果改變窗口大小或單擊窗口最大化按鈕窄赋,窗口的對象就不能排放在窗口的中間哟冬,否則整體效果就比較差,這是在設計是沒有考慮到的忆绰。實際上只要提出了問題浩峡,無論是否解決,這本身就是提高错敢。如果能夠利用已學過的知識加以解決最好翰灾,如果不能,可以帶著問題繼續(xù)學習稚茅,或利用系統(tǒng)提供的幫助進行學習纸淮。
在Visual Basic 系統(tǒng)中,不但有“幫助主題”亚享,還有“聯(lián)機手冊”咽块,在這些幫助中既有解釋、語法欺税,又有演示示例侈沪。
(4)保存并打包。
一般來說保存需經(jīng)過兩步:第1步保存的是窗體文件(擴展名為.frm)晚凿,即保存了窗體界面及該窗體中的所有事件過程的代碼程序亭罪;第2步保存的是工程文件(擴展名為.vbp),即與該工程有關的全部文件和對象的清單歼秽,包括所設置的環(huán)境選項方面的信息应役。
上面保存的文件,如果要運行哲银,必須在Visual Basic 環(huán)境下扛吞。在生成可執(zhí)行文件以后,就可以離開Visual Basic 環(huán)境荆责,直接在Windows系統(tǒng)下運行滥比。生成的可執(zhí)行文件的過程被稱為“打包”。打包的方法非常簡單:執(zhí)行“文件”->“生成···”命令做院,在“生成工程”對話框中盲泛,選擇適當?shù)奈募A下按指定的文件名,自動生成一個擴展名為.exe的可執(zhí)行文件键耕。
****3.窗體對象****
(1)Caption屬性:用于設定窗體標題欄中顯示的文本寺滚。
(2)BorderStyle屬性:用于設置窗體邊界的樣式。下表列出了可設置的屬性值屈雄。[圖片上傳失敗...(image-7f63e4-1577361030241)]
?
(3)MaxButton屬性:用于設置窗體是否包含最大化按鈕村视。
(4)MinButton屬性:用于設置窗體是否包含最小化按鈕。
(5)Load事件:當窗體被裝入內(nèi)存時引發(fā)該事件酒奶。一般是通過運行程序?qū)⒋绑w裝入內(nèi)存蚁孔,也就是說奶赔,運行程序時將會引發(fā)窗體的Load事件。也可以通過Load語句引發(fā)窗體的Load事件杠氢。
通常Load事件過程用來包含一個窗體的啟動代碼站刑。例如,指定界面的初始狀態(tài)(即對象缺省設定值)或初始化一些參數(shù)等鼻百。
****4.OptionButton(選項按鈕)控件****
用于在一組選項中只能選擇其中的一個選項绞旅,即通常所說的“單選”。
(1)Caption屬性:用于顯示選項的文本提示信息温艇。
在窗體中創(chuàng)建選項按鈕對象時因悲,選項按鈕有一個默認的提示信息,如Option1中贝、Option2.為使得提示信息更符合實際情況囤捻,應對Caption屬性進行設置。
(2)Value屬性:用于決定選項按鈕對象的狀態(tài)邻寿。如果Value屬性的值為True,表示已選擇了該按鈕视哑;否則绣否,如果Value屬性的值為False,表示沒有選擇該按鈕挡毅。系統(tǒng)的默認值為False蒜撮。
(3)Click事件。
1.當用鼠標左鍵單擊選項按鈕對象時跪呈,可引發(fā)Click事件段磨。
2.當選項按鈕對象的Value屬性設置為True時,可引發(fā)Click事件耗绿。
總之苹支,只要在運行的過程中對象的Value屬性值為True,就可引發(fā)Click事件误阻。
****5.Image(圖像)控件****
(1)BorderStyle屬性:用于設置圖相框的邊框樣式债蜜。屬性值為0(None)時表示無邊框,屬性值為1(Fixed Single)時表示固定單邊框究反。系統(tǒng)默認值為0.
(2)Picture(圖片)屬性:用于設置對象中要顯示的圖片文件寻定。通過Picture屬性可以加載以下類型的圖片文件:
1.文件擴展名為.bmp(Bitmap)的文件:位圖文件,即通過像素來表示的圖像精耐,其中每個像素對應一個或多個顏色信息位狼速。位圖文件通常都較大。
2.文件擴展名為.ico(Icon)或.cur(Cursor)的文件:圖標文件或光標文件卦停。
3.文件擴展名為.dib的文件:與設值規(guī)格無關的位圖文件向胡,這種圖片文件無論在彩色或單色屏幕上都可以清楚的顯示出來浅浮。
4.文件擴展名為.wmf(Windows Meta File)或.emf(Enhance Meta File)的文件:元文件,即將圖片以圖形對象(線捷枯、圓弧滚秩、多邊形)而不是像素的形式來儲存的文件。有兩種類型的元文件淮捆,標準型和增強型郁油。標準元文件通常帶有.wmf擴展名,而增強元文件通常帶有.emf擴展名攀痊。調(diào)整圖像大小時桐腌,元文件對圖片的保存比位圖文件更精確。
5.文件擴展名為.jpg的文件:JPEG壓縮文件苟径,屬于“有損壓縮”案站,即壓縮或會有一些失真(但視覺上不一定能感受出來)。
6.文件擴展名為.gif的文件:屬于“無損壓縮”棘街,及壓縮后再還原不會有失真蟆盐。
如果要清除圖片框中的文件,設計時選擇Picture屬性遭殉,然后按Del鍵石挂。
(3)Stretch(伸縮)屬性:用于確定是否調(diào)整圖片大小以適應圖像對象的大小。當它的值為True時险污,裝入的圖可以自動調(diào)整大小以適應圖相框的尺寸痹愚;當它的值為False時,圖像框?qū)⒆詣诱{(diào)整大小以適應裝入圖的尺寸蛔糯,但如果圖太大以至于超出窗口拯腮,則超出窗口的部分只能被截去。系統(tǒng)默認值為False蚁飒。
- ****基本操作****
(1)顯示各窗口动壤。
1.通過菜單:通過“視圖”菜單可以打開并顯示“代碼窗口”、“對象窗口(即窗體設計器)”飒箭、“工程資源管理器”狼电、“屬性窗口”、“工具箱”等弦蹂。
2.通過快捷鍵:按Shift+F7鍵可以顯示對象窗口肩碟;按Ctrl+R可以顯示工程資源管理器窗口;按F4鍵可以顯示屬性窗口凸椿。
3.通過工程資源管理器:單機查看對象按鈕可顯示對象窗口削祈;單機查看代碼按鈕可顯示代碼窗口。
(2)針對事件過程輸入代碼。
在窗體設計器中髓抑,雙擊引起事件的對象可以自由切換到代碼窗口咙崎,并自動在代碼輸入?yún)^(qū)打開該對象的默認事件過程。然后吨拍,在事件過程的的“Private Sub........End Sub”之間輸入相應的的代碼褪猛。
在代碼窗口中,打開左上方的下拉列表羹饰,從中選擇所需對象伊滋,如果在代碼輸入?yún)^(qū)顯示的不是所需事件過程,同樣打開右上方的下拉列表選擇適當?shù)氖录又取H缓笮ν谑录^程的“Private Sub........End Sub”之間輸入相應的代碼。
在輸入代碼時馍资,每個語句或命令都要按Enter鍵結(jié)束筒主。如果要在同一行輸入兩個或更多的語句或命令,則其間要用“:”分隔鸟蟹。
【練習與思考】
- 列舉蘋果的幾個屬性乌妙。
- 把桌子上的釘子拔下來,分析一下完成這件事的完整過程戏锹。
- 進一步修改“紅綠燈”程序:修改窗體標題冠胯、邊框、圖像的的大小锦针,使界面更加協(xié)調(diào),美觀置蜀。
- 設計程序奈搜,要求界面中有4個選項按鈕,分別對應“草花”盯荤、“方片”馋吗、“紅桃”和“黑桃”。程序運行時選中其中的選項秋秤,相應的花色圖片就顯示出來宏粤。
【閱讀材料】
Visual Basic 編程概念
要了解Visual Basic編程,有必要了解Windows的工作方式灼卢。Windows的工作方式用簡單的語言來概述就是3個關鍵的概念:窗口绍哎、事件、和消息鞋真。Windows操作系統(tǒng)在管理所有的系統(tǒng)時要給每一個窗口指定唯一的標識崇堰,通過它來連續(xù)監(jiān)視每一個窗口的活動或事件的信號。事件可以通過諸如單擊鼠標或按下鼠標按鍵的操作而產(chǎn)生,也可以通過操作另一個窗口產(chǎn)生海诲。每發(fā)生一次事件繁莹,程序?qū)⒁l(fā)一條消息并送發(fā)給其他窗口,然后每一個窗口才能根據(jù)自身處理該條消息的指令而采取適當操作特幔。
Visual Basic可以擺脫處理所有底層消息的麻煩(許多消息由Visual Basic自動處理)咨演,可以使開發(fā)者專心處理其他消息事件的過程,這樣可以快速創(chuàng)建強大的應用程序蚯斯,而無需處理不必要的細節(jié)薄风。
在傳統(tǒng)的應用程序中,應用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼溉跃。從第一行代碼執(zhí)行應用程序并按程序預定的路徑執(zhí)行村刨。因此,在開發(fā)應用程序時撰茎,就必須假設用戶操作的各種可能過程嵌牺,并根據(jù)這種假設進行編程。是編程變得非常復雜龄糊,稍有的疏忽就可能導致應用程序無法執(zhí)行或產(chǎn)生錯誤的結(jié)果逆粹。
在事件驅(qū)動的應用程序中,代碼不是按照預定的路徑執(zhí)行炫惩,而是相應不同的事件時執(zhí)行不同的代碼段僻弹。事件可以由用戶操作觸發(fā),也可以由來自操作系統(tǒng)或其他應用程序的消息觸發(fā)他嚷,甚至由應用程序本身的消息觸發(fā)蹋绽。這些事件的順序是無法預測的,而事件的順序決定了代碼的執(zhí)行順序筋蓖,因此卸耘,應用程序每次運行時所經(jīng)過的代碼的路徑都是不同的。在開發(fā)應用程序時粘咖,只對有效的事件進行代碼編寫蚣抗,其他事件(及用戶的不必要的操作)沒有代碼,即不作任何反應瓮下。而是在各個不同事件過程中編寫代碼翰铡,使程序被分成一段段相對獨立的代碼。這樣編程的過程就被簡化了讽坏,使編程的效率大大提高锭魔。