




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第10章 多重窗體與環(huán)境應(yīng)用10.1多重窗體與多文檔窗體10.2 DoEvents函數(shù)與閑置循環(huán)VB允許在一個(gè)工程中使用多個(gè)窗體。多窗體程序一般有兩種形式,單文檔界面和多文檔界面。前者又稱為多重窗體界面,每個(gè)窗體都是獨(dú)立的、平等的;后者所包含的多個(gè)窗體那么被放置在一個(gè)父窗體中,父窗體為應(yīng)用程序中所有的子窗體提供工作空間。10.1多重窗體與多文檔窗體一、建立多重窗體應(yīng)用程序二、多重窗體程序的執(zhí)行三、Sub Main過(guò)程四、多重窗體程序應(yīng)用五、多文檔MDI窗體一、建立多重窗體應(yīng)用程序在當(dāng)前工程中添加一個(gè)新的窗體有2種方法:1、在工程中添加窗體在“工程菜單中選擇“添加窗體菜單項(xiàng)。在工程資源管理器窗口
2、中右擊,選擇“添加子菜單下的“添加窗體選項(xiàng)。一、建立多重窗體應(yīng)用程序2、在工程中刪除窗體 從工程中刪除窗體的方法有兩種:先選定欲刪除的窗體,然后在“工程菜單中選擇“移除窗體名。在工程資源管理器中欲刪除的窗體名上右擊,選擇“移除窗體名。一、建立多重窗體應(yīng)用程序3、保存窗體每建立一個(gè)新的窗體,都應(yīng)將窗體存盤,一個(gè)窗體保存在一個(gè)擴(kuò)展名為.frm的窗體文件中。 對(duì)于新建立的工程,在“文件菜單中選擇“保存工程或“工程另存為選項(xiàng),系統(tǒng)將自動(dòng)彈出對(duì)話框,提示用戶保存工程的各個(gè)文件。一、建立多重窗體應(yīng)用程序4、使用工程資源管理器多重窗體實(shí)際上是單一窗體的集合,每個(gè)窗體都需要獨(dú)立進(jìn)行創(chuàng)立和修改。在設(shè)計(jì)時(shí),利用工
3、程資源管理器可以在各個(gè)窗體間進(jìn)行切換。二、多重窗體程序的執(zhí)行1、加載與卸載窗體在單窗體工程中,所有的操作都在一個(gè)窗體中完成。而在多窗體工程中,那么需要翻開、關(guān)閉、顯示或隱藏指定的窗體。加載窗體是指將窗體文件裝入內(nèi)存,而卸載窗體是指將窗體從內(nèi)存中刪除。VB有兩條語(yǔ)句專門用于對(duì)窗體進(jìn)行加載與卸載的操作:Load語(yǔ)句和Unload語(yǔ)句。Load窗體名Unload窗體名二、多重窗體程序的執(zhí)行2、顯示與隱藏窗體窗體用Load語(yǔ)句加載后,并沒有被顯示出來(lái)。假設(shè)要顯示窗體,可以使用窗體的Show方法,其語(yǔ)法格式為:窗體名. Show Show方法兼有加載與顯示窗體的兩種功能。 假設(shè)要暫時(shí)關(guān)閉窗體而不將窗體卸
4、載,可以使用窗體的Hide方法將窗體隱藏起來(lái),其語(yǔ)法格式為:窗體名. Hide Hide方法將窗體隱藏起來(lái),但仍在內(nèi)存中。說(shuō)明:也可以在代碼中通過(guò)修改Visible屬性來(lái)顯示或隱藏窗體。二、多重窗體程序的執(zhí)行3、啟動(dòng)窗體當(dāng)工程包含多個(gè)窗體的時(shí)候,必須有一個(gè)窗體作為“啟動(dòng)窗體。如果不指定啟動(dòng)窗體,那么系統(tǒng)默認(rèn)第1個(gè)建立的窗體為啟動(dòng)窗體。只有啟動(dòng)窗體才能在工程運(yùn)行時(shí)自動(dòng)顯示出來(lái),其他窗體必須通過(guò)Show方法才能看到。 設(shè)置啟動(dòng)窗體的方法是:二、多重窗體程序的執(zhí)行4、程序的關(guān)閉應(yīng)用程序結(jié)束時(shí),應(yīng)卸載所有的窗體。假設(shè)仍有隱藏的窗體存在,那么程序還在繼續(xù)運(yùn)行。使用End語(yǔ)句結(jié)束程序,系統(tǒng)自動(dòng)卸載工程中的
5、所有窗體。三、Sub Main過(guò)程在一個(gè)含有多個(gè)窗體或多個(gè)工程的應(yīng)用程序中,有時(shí)候需要在顯示多個(gè)窗體之前對(duì)一些條件進(jìn)行初始化;有的應(yīng)用程序啟動(dòng)時(shí)不加載任何窗體。例如:可能想先運(yùn)行裝入數(shù)據(jù)文件的代碼,然后再根據(jù)數(shù)據(jù)文件的內(nèi)容決定顯示幾個(gè)不同窗體中的哪一個(gè)。即需要在啟動(dòng)程序時(shí)執(zhí)行一個(gè)特定的過(guò)程。在VB中,這樣的過(guò)程稱為啟動(dòng)過(guò)程,并命名為Sub Main。三、Sub Main過(guò)程Sub Main過(guò)程只能建在標(biāo)準(zhǔn)模塊中。方法如下:通過(guò)“工程/添加模塊菜單項(xiàng)添加一個(gè)標(biāo)準(zhǔn)模塊。在該模塊的代碼窗口中鍵入:Sub Main后按回車鍵,系統(tǒng)自動(dòng)給出過(guò)程的開始行和結(jié)束行。在其中輸入過(guò)程代碼,并保存模塊文件Modu
6、le1.bas。將Sub Main設(shè)置為啟動(dòng)對(duì)象。 四、多重窗體的應(yīng)用【例10-1】為應(yīng)用程序增加一個(gè)“登錄子窗體來(lái)控制非法用戶的使用,如下圖。五、多文檔MDI窗體多文檔界面的應(yīng)用可同時(shí)翻開多個(gè)文檔,每個(gè)文檔都顯示在自己的窗口中。包含文檔的子窗體被放置在父窗體MDI窗體中,父窗體為應(yīng)用程序中所有的子窗體提供工作空間。 子窗體實(shí)際上就是將MDIChild屬性設(shè)置為True的普通窗體,一個(gè)應(yīng)用程序可以包含多個(gè)相似或不相似的MDI子窗體。在運(yùn)行時(shí),子窗體顯示在MDI窗體的工作區(qū)內(nèi)。當(dāng)子窗體最小化時(shí),它的圖標(biāo)顯示在MDI窗體的工作區(qū)內(nèi),而不是在任務(wù)欄中。五、多文檔MDI窗體1. 創(chuàng)立MDI窗體的一般步
7、驟通過(guò)“工程菜單翻開“添加MDI窗體對(duì)話框。選擇“新建選項(xiàng)卡中的“MDI窗體,單擊“翻開按鈕,屏幕上出現(xiàn)一個(gè)名字為MDIForm1的MDI窗體。 MDI窗體與普通窗體不同,除非控件具有Align屬性如PictureBox或者具有不可見界面如Timer,否那么不能將控件直接放置在MDI窗體上。將子窗體的MDIChild屬性設(shè)置為True 。五、多文檔MDI窗體2. 多文檔界面的特點(diǎn)所有子窗體均顯示在MDI窗體工作區(qū)中。用戶可以改變、移動(dòng)子窗體的大小,但被限制在MDI窗體中。當(dāng)最小化一個(gè)子窗體時(shí),其圖標(biāo)將顯示于MDI窗體上而不是在任務(wù)欄中。當(dāng)最小化MDI窗體時(shí),所有子窗體也被最小化,只有MDI窗體
8、的圖標(biāo)出現(xiàn)在任務(wù)欄中。當(dāng)最大化一個(gè)子窗體時(shí),其標(biāo)題與MDI窗體的標(biāo)題一起顯示在MDI窗體的標(biāo)題欄上。MDI窗體和子窗體可以有各自的菜單,當(dāng)子窗體加載時(shí)覆蓋MDI窗體的菜單。任何時(shí)候,一個(gè)應(yīng)用程序只能有一個(gè)MDI窗體。10.2DoEvents函數(shù)與閑置循環(huán)在一般情況下,只有當(dāng)事件發(fā)生時(shí)VB才會(huì)執(zhí)行相應(yīng)的過(guò)程代碼。這就是說(shuō),如果沒有事件發(fā)生,應(yīng)用程序?qū)⑻幱凇伴e置狀態(tài)。另一方面,當(dāng)VB執(zhí)行一個(gè)過(guò)程時(shí),將停止對(duì)其他事件如鼠標(biāo)事件的響應(yīng),直至過(guò)程執(zhí)行完畢。也就是說(shuō),如果VB處于“忙碌狀態(tài),事件過(guò)程只能在隊(duì)列中等待,直到當(dāng)前過(guò)程結(jié)束。 為了改變這種順序,VB提供了DoEvents函數(shù)。一、DoEvents
9、函數(shù)使用DoEvents函數(shù),可以將應(yīng)用程序的控制權(quán)交還給Windows操作系統(tǒng),以便處理其他事件。當(dāng)操作系統(tǒng)處理完隊(duì)列中的事件之后,返回控制權(quán)。DoEvents函數(shù)的語(yǔ)法格式為:DoEvents( )說(shuō)明: DoEvents函數(shù)返回一個(gè)Integer,以代表VB中翻開的窗體數(shù)目。 假設(shè)省略函數(shù)括號(hào),那么DoEvents可以作為語(yǔ)句使用?!纠?0-2】使用DoEvents,可以在執(zhí)行循環(huán)的過(guò)程中進(jìn)行其他操作,如下圖。一、DoEvents函數(shù)Sub Command1_Click() For i = 1 To 200000 DoEvents For j = 1 To 1000 Next j Label1.Caption = i Next iEnd SubSub Command2_Click() Me.Caption = Label1.CaptionEnd Sub二、閑置循環(huán)編寫“閑置循環(huán),當(dāng)沒有事件發(fā)生的時(shí)候,作計(jì)數(shù)循環(huán),如下圖?!纠?0-3】在Module1中編寫其中代碼:Public a As Long Su
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度供暖供氣設(shè)施施工安全協(xié)議
- 二零二五年度鋼材現(xiàn)貨交易居間服務(wù)協(xié)議
- 2025年度電子商務(wù)合伙拆伙協(xié)議終止協(xié)議
- 2025年度離職解除勞動(dòng)合同模板:傳媒廣告行業(yè)員工離職流程
- 會(huì)計(jì)財(cái)務(wù)審計(jì)作業(yè)指導(dǎo)書
- 公司股權(quán)購(gòu)買協(xié)議詳細(xì)版
- 金融服務(wù)個(gè)人風(fēng)險(xiǎn)免責(zé)聲明
- 《數(shù)學(xué)思維訓(xùn)練課程:數(shù)形結(jié)合學(xué)習(xí)指導(dǎo)》
- 肉類銷售代理合同
- 關(guān)于項(xiàng)目進(jìn)度管理的解決方案
- 2021年劍橋國(guó)際少兒英語(yǔ)KidsBox2文本
- 金蝶云星辰初級(jí)考試題庫(kù)
- GM/T 0107-2021智能IC卡密鑰管理系統(tǒng)基本技術(shù)要求
- GB/T 6967-2009工程結(jié)構(gòu)用中、高強(qiáng)度不銹鋼鑄件
- 部編版七年級(jí)下冊(cè)語(yǔ)文第一單元課件
- 2023年山東省青島市統(tǒng)招專升本管理學(xué)自考真題(含答案)
- 文化產(chǎn)業(yè)政策與法規(guī)課件
- 人教版八年級(jí)下冊(cè)生物全冊(cè)教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- 無(wú)人機(jī)警用方向應(yīng)用簡(jiǎn)介課件
- 《思想道德修養(yǎng)與法律基礎(chǔ)》說(shuō)課(獲獎(jiǎng)版)課件
- 幼兒園中班居家安全教案
評(píng)論
0/150
提交評(píng)論