資源描述:
《vbsession2TP北大青鳥(niǎo)(vb)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、事件和事件處理第二章回顧可視化程序設(shè)計(jì)字符界面的缺點(diǎn)和圖形用戶界面的需求可視化程序設(shè)計(jì)的基本思想使用VB開(kāi)發(fā)Windows應(yīng)用程序的優(yōu)點(diǎn)介紹VisualBasic集成開(kāi)發(fā)環(huán)境使用VisualBasic提供的各種編程控件在VisualBasic中編譯和執(zhí)行程序2目標(biāo)理解Windows應(yīng)用程序的事件驅(qū)動(dòng)設(shè)計(jì)使用常用的控件,如標(biāo)簽、文本框和命令按鈕編寫(xiě)事件驅(qū)動(dòng)程序的代碼在運(yùn)行時(shí)更改控件的屬性使用MSGBOX系統(tǒng)對(duì)話框進(jìn)行用戶交互3事件驅(qū)動(dòng)編程VisualBasic程序是事件驅(qū)動(dòng)的每個(gè)對(duì)象都有它自己的事件集在事件驅(qū)動(dòng)應(yīng)用程序中,代碼不會(huì)遵循固定的執(zhí)行路徑,而是
2、由操作來(lái)決定響應(yīng)事件時(shí)執(zhí)行的代碼稱為事件處理程序4事件驅(qū)動(dòng)編程的優(yōu)點(diǎn)可以為用戶提供即時(shí)反饋使程序設(shè)計(jì)更貼近用戶的操作需要使程序設(shè)計(jì)的目的性更強(qiáng)減少程序的復(fù)雜性5VisualBasic的應(yīng)用程序事件可分為用戶事件和系統(tǒng)事件PrivateSubCommand1_Click()...‘要執(zhí)行的語(yǔ)句...EndSubPrivateSubCommand1_DragDrop(SourceAsControl,XAsSingle,YAsSingle)...‘要執(zhí)行的語(yǔ)句...EndSub不帶參數(shù)的事件帶參數(shù)的事件6用戶事件由用戶執(zhí)行的某些操作所觸發(fā)的事件稱為用戶事件
3、。例如,簡(jiǎn)單的用戶操作:?jiǎn)螕舸绑w上的命令按鈕在文本框中輸入數(shù)據(jù)在窗體上任意位置單擊鼠標(biāo)在窗體上拖動(dòng)鼠標(biāo)(在VB環(huán)境中進(jìn)行演示)7系統(tǒng)事件由其他事件或Windows操作系統(tǒng)觸發(fā)的事件稱為系統(tǒng)事件,例如:Timer事件就是一個(gè)系統(tǒng)事件的例子。系統(tǒng)事件無(wú)需任何用戶干預(yù)8VisualBasic事件的封裝VisualBasic事件是針對(duì)操作和與之相關(guān)聯(lián)的每個(gè)控件而單獨(dú)進(jìn)行編碼的僅當(dāng)用戶觸發(fā)特定操作時(shí)事件才會(huì)發(fā)生必須存在當(dāng)事件發(fā)生時(shí)可以執(zhí)行的代碼直到事件發(fā)生并引起響應(yīng)時(shí),用戶才意識(shí)到存在與該事件的發(fā)生相關(guān)聯(lián)的代碼9窗體事件事件說(shuō)明Initialize用于初始化應(yīng)用
4、程序Load執(zhí)行顯示窗體前所需的操作(示例)Unload卸載窗體時(shí),將發(fā)生此事件Click除標(biāo)題欄之外,在窗體上的空白區(qū)或窗體上的無(wú)效控件上單擊鼠標(biāo)時(shí),將觸發(fā)此事件DblClick除標(biāo)標(biāo)題欄之外,在窗體上的空白區(qū)或窗體上的無(wú)效控件上雙擊鼠標(biāo)時(shí),將觸發(fā)此事件Resize窗體的窗口尺寸改變后,第一次顯示該窗體時(shí)將發(fā)生此事件10窗體事件–Load示例PrivateSubForm_Load()Text1.text=”大家好”EndSub返回在加載窗體時(shí),名稱為“Text1”的文本框會(huì)顯示“大家好”。11控件事件事件說(shuō)明Click每次單擊控件時(shí)發(fā)生KeyPres
5、s按下并釋放任何鍵盤(pán)鍵時(shí)發(fā)生MouseDown按下鼠標(biāo)按鈕不松開(kāi)時(shí),將發(fā)生此事件MouseMove在控件上移動(dòng)鼠標(biāo)時(shí),將發(fā)生此事件12VisualBasic中的應(yīng)用程序編碼VisualBasic中的應(yīng)用程序編碼時(shí),需要使用以下三個(gè)主要特征:屬性:控件的特性方法:控件所提供的某種能執(zhí)行的操作事件:發(fā)生在用戶和界面控件之間的交互。13在運(yùn)行時(shí)設(shè)置屬性通過(guò)編寫(xiě)應(yīng)用程序代碼來(lái)設(shè)置控件的屬性。例如,當(dāng)用戶在名稱為“Text1”的文本框中輸入“Q”時(shí),禁用命令按鈕。PrivateSubText1_LostFocus()Iftext1.text="Q"Thencom
6、mand1.enabled=falseEndIfEndSub(在VB環(huán)境中進(jìn)行演示)14在運(yùn)行時(shí)調(diào)用方法通過(guò)在事件過(guò)程中編寫(xiě)應(yīng)用程序代碼,還可以調(diào)用各種控件的方法,以執(zhí)行某種操作。(示例)15在運(yùn)行時(shí)調(diào)用方法–示例例如,要在按鈕Command1點(diǎn)擊時(shí),將Form1窗體隱藏并加載Form2。PrivateSubCommand1_Click()‘加載Form2LoadForm2‘隱藏Form1Form1.Hide‘顯示Form2Form2.ShowEndSub(在VB環(huán)境中進(jìn)行演示)16VisualBasic及窗體的常用方法VB提供的一些方法Load:加載
7、某個(gè)組件UnLoad:卸載某個(gè)組件窗體的常用方法Hide:隱藏窗體自身,但不被卸載Show:使窗體在屏幕上顯示17MsgBox函數(shù)MsgBox函數(shù)用于在用戶與應(yīng)用程序之間進(jìn)行交互。MsgBox函數(shù)顯示一個(gè)帶有消息的對(duì)話框并等待用戶單擊某個(gè)按鈕來(lái)關(guān)閉它。用戶點(diǎn)擊按鈕后,會(huì)返回一個(gè)值指示用戶單擊的按鈕。18MsgBox函數(shù)語(yǔ)法5-1MsgBox([提示信息],[標(biāo)志和按鈕],[對(duì)話框的標(biāo)題信息])標(biāo)題信息提示信息標(biāo)志和按鈕19MsgBox函數(shù)語(yǔ)法5-2消息框中“標(biāo)志和按鈕”參數(shù)中關(guān)于按鈕類(lèi)型和數(shù)目的值:按鈕值常數(shù)值說(shuō)明vbOKOnly0只顯示“確定”按鈕v
8、bOKCancel1顯示“確定”和“取消”按鈕vbAbortRetryIgnore2顯示“放棄