ncre vb電子光盤課件第13章_第1頁(yè)
ncre vb電子光盤課件第13章_第2頁(yè)
ncre vb電子光盤課件第13章_第3頁(yè)
ncre vb電子光盤課件第13章_第4頁(yè)
ncre vb電子光盤課件第13章_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第13章多窗體程序設(shè)計(jì)與環(huán)境應(yīng)用

13.1建立多重窗體應(yīng)用程序

應(yīng)用程序可以有多個(gè)窗體,不同窗體提供不同的界面,共同完成整個(gè)程序的交互工作在多窗體界面程序中,每個(gè)窗體存放在一個(gè)窗體文件中,具有各自的控件和程序代碼,完成各自的功能,各窗體之間還可以進(jìn)行數(shù)據(jù)的互訪多個(gè)窗體可以同時(shí)顯示,但只有一個(gè)窗體是當(dāng)前窗體,交互操作總是在當(dāng)前窗體上進(jìn)行的,用鼠標(biāo)點(diǎn)擊某個(gè)窗體,就可以把它變?yōu)楫?dāng)前窗體多窗體程序的每個(gè)窗體的設(shè)計(jì)方法都是一樣的當(dāng)創(chuàng)建一個(gè)新的工程時(shí),只有一個(gè)自動(dòng)產(chǎn)生的窗體,如果要設(shè)計(jì)多窗體程序,還需再添加新的窗體可以通過“工程”菜單中的“添加窗體”命令添加新的窗體與多重窗體程序設(shè)計(jì)有關(guān)的語(yǔ)句Load語(yǔ)句格式:Load窗體名稱作用:把指定窗體裝入內(nèi)存,但不顯示該窗體,不過,執(zhí)行Load語(yǔ)句后,可以引用窗體中的控件及各種屬性Unload語(yǔ)句格式:Unload窗體名稱作用:清除內(nèi)存中指定的窗體與多重窗體程序設(shè)計(jì)有關(guān)的方法Show方法格式:[窗體名稱.]Show[模式]作用:顯示指定窗體。若該窗體還未被裝入內(nèi)存,則先裝入內(nèi)存,再顯示若省略“窗體名稱”,則顯示當(dāng)前窗體參數(shù)“模式”有兩種值,即0和1(不是False和True),省略則為01——窗體為“模態(tài)型”,只能在此窗體內(nèi)進(jìn)行交互操作,只有在關(guān)閉(隱藏或卸載)該窗口后才能對(duì)其他窗體進(jìn)行交互操作0——窗體為“非模態(tài)型”,可以在不關(guān)閉本窗體的情況下對(duì)其他已顯示的窗體進(jìn)行操作把窗體的Visible屬性設(shè)置為True可以起到與Show方法同樣的效果Hide方法格式:[窗體名稱.]Hide作用:隱藏指定窗體,但不從內(nèi)存中清除把窗體的Visible屬性設(shè)置為False可以起到與Hide方法同樣的效果不同窗體間數(shù)據(jù)的訪問

同一個(gè)應(yīng)用程序中的不同窗體之間可以實(shí)現(xiàn)數(shù)據(jù)的互相訪問除了使用全局變量外,在一個(gè)窗體中可以訪問其他窗體上控件的屬性和方法,不過,需要在控件名稱前添加該控件所在窗體的名稱訪問另一窗體上控件的格式是:<另一個(gè)窗體名>.<控件名>[.<屬性名|方法名>]如果省略屬性名和方法名,訪問的就是控件的默認(rèn)屬性下面語(yǔ)句可以把本窗體中Text1文本框中的內(nèi)容復(fù)制到Form2窗體的Text1文本框中Form2.Text1.Text=Text1.Text【例】設(shè)計(jì)一個(gè)多窗體程序

問題描述在Form1窗體上畫1個(gè)文本框Text1,用于輸入姓名,畫1個(gè)標(biāo)簽Label1,用于顯示總分,再畫一個(gè)“輸入成績(jī)”按鈕;然后添加一個(gè)窗體Form2,上面有3個(gè)文本框Text1、Text2、Text3,和一個(gè)“返回”按鈕,兩個(gè)窗體的外觀見下圖要求:程序運(yùn)行時(shí),輸入姓名后單擊“輸入成績(jī)”按鈕,則打開Form2窗體,在其中輸入3個(gè)成績(jī)后,單擊“返回”按鈕,則關(guān)閉Form2窗體,并把總分顯示在Form1的Label1標(biāo)簽中Form1窗體Form2窗體【例】中的代碼窗體Form1中的代碼

PrivateSubCommand1_Click()Form2.Show '顯示Form2窗體EndSub窗體Form2中的代碼PrivateSubCommand1_Click()Form1.Label1.Caption=Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text)Hide '隱藏本窗體(Form2)EndSub說明程序剛運(yùn)行時(shí)窗體Form2不顯示執(zhí)行語(yǔ)句Form2.Show后,顯示Form2窗體,且Form2成為當(dāng)前窗體為了在Form2中把總分放入Form1的Label1標(biāo)簽中,Label1的前面必須加窗體名“Form1”Hide是寫在Form2窗體的代碼中的,前面省略窗體名表示隱藏Form2窗體【例13.1】多窗體程序

問題描述設(shè)計(jì)一個(gè)程序,介紹“××電腦公司”出售的微型機(jī)。從清單上查到所需要的某種型號(hào),然后顯示該微機(jī)的配置和價(jià)格。要求介紹4種微機(jī),即HX2000A、HX2000B、HX2000C和HX2000D建立界面用到以下多個(gè)窗體━━━━━━━━━━━━━━━━━━━━━━━━━━━━━窗體名稱(Name)標(biāo)題(Caption)─────────────────────────────封面窗體FormCover

"多重窗體程序演示"

列表窗體ListForm"微機(jī)型號(hào)列表"

配置窗體1HX2000A"HX2000A臺(tái)式機(jī)"

配置窗體2HX2000B"HX2000B臺(tái)式機(jī)"

配置窗體3HX2000C"HX2000C臺(tái)式機(jī)"

配置窗體4HX2000D"HX2000D臺(tái)式機(jī)"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━【例13.1】多窗體程序——封面窗體

封面窗體上有一個(gè)圖片框和兩個(gè)命令按鈕控件名稱(Name)標(biāo)題(Caption)Picture屬性─────────────────────────────圖片框Picture1 裝入自選的圖片文件左命令按鈕Command1"繼續(xù)"右命令按鈕Command2"結(jié)束"封面窗體的屬性屬性設(shè)置值說明─────────────────────────────

MaxButtonTrue可以放大窗體

MinButtonTrue可以縮小窗體

ControlBoxTrue有左上角控制框

BorderStyle2-Sizeble可以改變窗體大小

Caption"多重窗體程序演示"此標(biāo)題顯示在窗體頂部

NameFormCover窗體名稱,在程序代碼中使用

Icondisk06.ico當(dāng)窗體最小化時(shí)顯示的圖標(biāo)【例13.1】

——封面窗體(代碼)封面窗體有兩個(gè)命令按鈕,為這兩個(gè)命令按鈕編寫事件過程PrivateSubCommand1_Click()ListForm.ShowFormCover.HideEndSubPrivateSubCommand2_Click()EndEndSub說明單擊“繼續(xù)”按鈕(Command1)則顯示ListForm窗體,然后隱藏封面窗體(FormCover)【例13.1】

——列表窗體

作用作為對(duì)話框使用,列出各種微機(jī)的型號(hào)供用戶選擇窗體上的控件━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━控件屬性設(shè)置值 作用─────────────────────────────────標(biāo)簽NameLabel1Caption"請(qǐng)選擇所需要的微機(jī)"

列表框NameList1 列出所有微機(jī)型FontSize三號(hào) 號(hào),供用戶選擇

FontName"宋體"

FontboldTrue

命令按鈕NameCommand1 返回封面窗體Caption"返回"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━【例13.1】

——列表窗體(窗體屬性)窗體部分屬性設(shè)置作為對(duì)話框,一般不必提供改變大小、縮成圖標(biāo)及放大等功能━━━━━━━━━━━━━━━━━━━━━━━━━━━━━屬性設(shè)置值說明─────────────────────────────

MaxButtonFalse右上角沒有放大符號(hào)

MinButtonFalse右上角沒有縮小符號(hào)

ControlBoxTrue保留左上角控制框

BorderStyle3-FixedDouble不能改變窗體大小

Caption"微機(jī)型號(hào)列表"此標(biāo)題顯示在窗體頂部

NameListForm窗體名稱,在程序代碼中使用

Icon默認(rèn)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━【例13.1】

——列表窗體(代碼)SubList1_DblClick()ListForm.HideSelectCaseList1.ListIndexCase0HX2000A.ShowCase1HX2000B.ShowCase2HX2000C.ShowCase3HX2000D.ShowEndSelectEndSub說明Form_Load過程在加載時(shí)把所有微機(jī)信息添加到列表框中雙擊列表框中的某個(gè)項(xiàng)目(微機(jī)信息),即顯示相應(yīng)窗體并隱藏本窗體單擊“返回”按鈕(Command1)顯示封面窗體并隱藏本窗體SubForm_Load()List1.AddItem"HX2000A微機(jī)"List1.AddItem"HX2000B微機(jī)"List1.AddItem"HX2000C微機(jī)"List1.AddItem"HX2000D微機(jī)"EndSubSubCommand1_Click()ListForm.HideFormCover.ShowEndSub【例13.1】——微機(jī)信息顯示窗體

這樣的窗體共有4個(gè),以HX2000A微機(jī)窗體為例窗體及各控件的屬性━━━━━━━━━━━━━━━━━━━━━━━━━━━━對(duì)象屬性設(shè)置值────────────────────────────窗體Caption"HX2000A臺(tái)式機(jī)"

NameHX2000A

標(biāo)簽NameLabel1BackStyle0-TransparentBoderStyle0–NoneAutosizeTrue

命令按鈕NameCommand1Caption"返回"━━━━━━━━━━━━━━━━━━━━━━━━━━━━【例13.1】——所有窗體按照HX2000A微機(jī)窗體再創(chuàng)建HX2000B、HX2000C、HX2000B微機(jī)窗體完成后的“工程資源管理器”窗口如圖所示【例13.1】——HX2000A窗體(代碼)HX2000A微機(jī)窗體代碼SubForm_Load()ShowClsLabel1.FontSize=24Label1.FontName="隸書"Label1.Caption="HX2000A微型機(jī)"Label1.FontBold=TrueFontSize=16Print:Print:PrintPrintTab(5);"處理器Intel奔騰41.5GHz"PrintTab(5);"內(nèi)存128MPC133SDRAM"PrintTab(5);"硬盤40G高速"PrintTab(5);"顯示器17'(43cm)純平"PrintTab(5);"Modem

56kData/Faxmodem"PrintTab(5);"光驅(qū)50X超強(qiáng)糾錯(cuò)"FontUnderline=TruePrint:PrintTab(5);"價(jià)格6999元"EndSubSubCommand1_Click()UnloadHX2000AListForm.ShowEndSub說明Load事件在加載窗體之后,顯示窗體之前被調(diào)用,過程中用Print語(yǔ)句輸出的信息是無法顯示的(窗體還未顯示),因此在過程的開頭用Show語(yǔ)句先顯示窗體,然后Print語(yǔ)句的輸出就可以顯示在窗體上了【例13.1】——HX2000B窗體(代碼)HX2000B微機(jī)窗體代碼SubForm_Load()ShowClsLabel1.FontSize=24Label1.FontName="隸書"Label1.Caption="HX2000B微型機(jī)"Label1.FontBold=TrueFontSize=16Print:Print:PrintPrintTab(5);"處理器Intel奔騰41.5GHz"PrintTab(5);"內(nèi)存128MPC133SDRAM"PrintTab(5);"硬盤40G高速"PrintTab(5);"顯示器15'TFT液晶"PrintTab(5);"Modem

56kData/Faxmodem"PrintTab(5);"光驅(qū)50X超強(qiáng)糾錯(cuò)"FontUnderline=TruePrint:PrintTab(5);"價(jià)格8900元"EndSubSubCommand1_Click()UnloadHX2000BListForm.ShowEndSub【例13.1】——HX2000C窗體(代碼)HX2000C微機(jī)窗體代碼SubForm_Load()ShowClsLabel1.FontSize=24Label1.FontName="隸書"Label1.Caption="HX2000C微型機(jī)"Label1.FontBold=TrueFontSize=16Print:Print:PrintPrintTab(5);"處理器Intel奔騰41.7GHz"PrintTab(5);"內(nèi)存256MRAMBUS(PC800)"PrintTab(5);"硬盤60G高速"PrintTab(5);"顯示器15'TFT液晶"PrintTab(5);"Modem56kData/Faxmodem"PrintTab(5);"光驅(qū)12XDVD-ROM"FontUnderline=TruePrint:PrintTab(5);"價(jià)格11800元"EndSubSubCommand1_Click()UnloadHX2000CListForm.ShowEndSub【例13.1】——HX2000D窗體(代碼)HX2000D微機(jī)窗體代碼SubForm_Load()ShowClsLabel1.FontSize=24Label1.FontName="隸書"Label1.Caption="HX2000D微型機(jī)"Label1.FontBold=TrueFontSize=16Print:Print:PrintPrintTab(5);"處理器Intel奔騰42.0GHz"PrintTab(5);"內(nèi)存256MRAMBUS(PC800)"PrintTab(5);"硬盤60G高速"PrintTab(5);"顯示器15'TFT液晶液晶電視二合一"PrintTab(5);"Modem

56kData/Faxmodem支持寬帶網(wǎng)絡(luò)"PrintTab(5);"光驅(qū)12XDVD+8x4x32CDRW"FontUnderline=TruePrint:PrintTab(5);"價(jià)格18600元"EndSubSubCommand1_Click()UnloadHX2000DListForm.ShowEndSub13.2多重窗體程序的執(zhí)行與保存

剛開始運(yùn)行多窗體界面程序時(shí),只顯示一個(gè)窗體,其他窗體需要在這個(gè)窗體的某個(gè)事件過程中用特定的語(yǔ)句顯示出來當(dāng)應(yīng)用程序包含多個(gè)窗體時(shí),VisualBasic必須知道首先顯示的是哪個(gè)窗體,這個(gè)窗體稱為“啟動(dòng)窗體”通常,在設(shè)計(jì)時(shí)創(chuàng)建的第一個(gè)窗體自動(dòng)被作為啟動(dòng)窗體如果希望后添加的某個(gè)窗體成為啟動(dòng)窗體,必須特別指定指定啟動(dòng)對(duì)象

在創(chuàng)建一個(gè)“標(biāo)準(zhǔn)EXE”工程時(shí),會(huì)自動(dòng)包含第1窗體,這個(gè)窗體自動(dòng)成為默認(rèn)的啟動(dòng)窗體,程序運(yùn)行時(shí)從這個(gè)窗體開始可以指定其他窗體為啟動(dòng)窗體也可以指定程序從標(biāo)準(zhǔn)模塊中的一個(gè)特定過程(過程名為Main)開始運(yùn)行,這時(shí),不打開任何窗體,除非調(diào)用了某個(gè)窗體的Show方法指定啟動(dòng)對(duì)象的操作過程用“工程”菜單中的“工程屬性”命令打開“工程屬性”對(duì)話框在“啟動(dòng)對(duì)象”下拉列表中列出了已經(jīng)建立的所有窗體的名稱,選中其中一個(gè)(或選SubMain),按“確定”按鈕,見下圖多窗體程序的存取

保存多窗體程序步驟在“工程資源管理器”中選擇需要保存的窗體,例如“Form1”,然后在“文件”菜單中選“Form1.frm另存為”命令保存窗體文件用同樣方法保存其他窗體文件和標(biāo)準(zhǔn)模塊文件在“文件”菜單中選“工程另存為”命令,保存工程文件如果是第一次保存,也可以直接單擊“保存工程”按鈕,這時(shí)會(huì)依次彈出對(duì)話框,保存每一個(gè)窗體,最后保存工程裝入多窗體程序裝入多窗體程序的方法與裝入單窗體程序一樣,可以在VB集成環(huán)境中打開工程,也可在資源管理器中雙擊工程文件,但由于是多窗體程序,不能只在資源管理器中雙擊窗體文件,這樣做不能裝入其他窗體一個(gè)工程由一個(gè)或多個(gè)模塊和其他輔助文件組成,一個(gè)模塊中的程序代碼由一個(gè)或多個(gè)過程組成工程、模塊、過程構(gòu)成了VisualBasic應(yīng)用程序的基本層次結(jié)構(gòu)在VisualBasic中主要有三種模塊窗體模塊:包含用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論