




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第2 2章章 從零開始編制從零開始編制VBVB程序程序w 第第2講:講:教材教材P15P27w 2.1 創(chuàng)建最簡(jiǎn)單的應(yīng)用程序創(chuàng)建最簡(jiǎn)單的應(yīng)用程序 w 2.2 對(duì)象對(duì)象 w 2.3 用戶界面的載體用戶界面的載體窗體窗體 w 第第3講講:教材:教材P30P33w 2.4 讓用戶下達(dá)命令的控件讓用戶下達(dá)命令的控件命令按鈕命令按鈕 w 2.5 最簡(jiǎn)單的文字顯示控件最簡(jiǎn)單的文字顯示控件標(biāo)簽標(biāo)簽 w 第第4講講:教材:教材P33P41w 2.6 最常用的字符輸入輸出控件最常用的字符輸入輸出控件文本框文本框 w 2.7 開發(fā)開發(fā)VB應(yīng)用程序的一般步驟應(yīng)用程序的一般步驟 w 2.8 本章小結(jié)本章小結(jié)w 實(shí)訓(xùn)
2、實(shí)訓(xùn)1:教材教材P41w 上機(jī)實(shí)訓(xùn)上機(jī)實(shí)訓(xùn)第第2講:教材講:教材P15P27講解內(nèi)容講解內(nèi)容 程序的開發(fā) 對(duì)象、屬性、方法,事件1.窗體同學(xué)們好,現(xiàn)在開始上課!同學(xué)們好,現(xiàn)在開始上課!2.1 創(chuàng)建最簡(jiǎn)單的應(yīng)用程序創(chuàng)建最簡(jiǎn)單的應(yīng)用程序w 2.1.1 不編寫代碼的簡(jiǎn)單程序不編寫代碼的簡(jiǎn)單程序 w 2.1.2 含有簡(jiǎn)單代碼的程序含有簡(jiǎn)單代碼的程序 (2)設(shè)計(jì)界面)設(shè)計(jì)界面 本程序通過標(biāo)簽控件顯示本程序通過標(biāo)簽控件顯示文字。雙擊工具箱標(biāo)簽控件文字。雙擊工具箱標(biāo)簽控件(Label)圖標(biāo)圖標(biāo) ,在窗體上,在窗體上添加一個(gè)標(biāo)簽(添加一個(gè)標(biāo)簽(Label1),),如如圖圖2.12.1所示。所示。2.1.1 不
3、編寫代碼的簡(jiǎn)單程序(不編寫代碼的簡(jiǎn)單程序(1 1) 【P15P15例例2.1】創(chuàng)建一個(gè)無須編寫代碼的簡(jiǎn)單程序,程序創(chuàng)建一個(gè)無須編寫代碼的簡(jiǎn)單程序,程序運(yùn)行時(shí)顯示運(yùn)行時(shí)顯示“Hello,World!”。 (1)創(chuàng)建工程)創(chuàng)建工程 按第按第1章章1.3節(jié)所述的方法啟動(dòng)節(jié)所述的方法啟動(dòng)VB,在【新建工程】對(duì)在【新建工程】對(duì)話框中選擇話框中選擇“標(biāo)準(zhǔn)標(biāo)準(zhǔn) EXE”,單擊【打開】按鈕。單擊【打開】按鈕。 圖圖2.1 設(shè)計(jì)界面設(shè)計(jì)界面2.1.1 不編寫代碼的簡(jiǎn)單程序(不編寫代碼的簡(jiǎn)單程序(2 2)(3 3)設(shè)置屬性)設(shè)置屬性 設(shè)置標(biāo)簽屬性:在屬性窗口設(shè)置標(biāo)簽屬性:在屬性窗口將將Caption屬性設(shè)屬性設(shè)置
4、為置為“Hello,World!”。單擊單擊Font屬性右側(cè)的屬性右側(cè)的 按鈕,在【字體】對(duì)話框中將字體大小設(shè)置為二號(hào)。按鈕,在【字體】對(duì)話框中將字體大小設(shè)置為二號(hào)。 設(shè)置窗體屬性:?jiǎn)螕舸绑w空白處將其選定,在設(shè)置窗體屬性:?jiǎn)螕舸绑w空白處將其選定,在屬性窗口將窗體的屬性窗口將窗體的Caption屬性值改為屬性值改為“我的第一我的第一個(gè)程序個(gè)程序”。設(shè)置屬性后的用戶界面如圖。設(shè)置屬性后的用戶界面如圖2.3所示。所示。( 4)運(yùn)行程序)運(yùn)行程序單擊工具欄中啟動(dòng)按鈕(單擊工具欄中啟動(dòng)按鈕( )或按)或按F5鍵運(yùn)行應(yīng)用程鍵運(yùn)行應(yīng)用程序。程序運(yùn)行結(jié)果如圖序。程序運(yùn)行結(jié)果如圖2.4所示。所示。 圖2.4 運(yùn)
5、行程序 圖2.3 設(shè)置屬性單擊演示單擊演示(例例2.1)2.1.1 不編寫代碼的簡(jiǎn)單程序(不編寫代碼的簡(jiǎn)單程序(3 3)(5)保存工程)保存工程選擇選擇“文件文件”“”“保存工程保存工程”菜單項(xiàng)或單擊工具菜單項(xiàng)或單擊工具欄欄“保存保存”按鈕,打開如圖按鈕,打開如圖2.5所示的所示的“文件另存文件另存為為”對(duì)話框。系統(tǒng)首先要求保存的是所有窗體文對(duì)話框。系統(tǒng)首先要求保存的是所有窗體文件(件(.frm),),最后才是工程文件(最后才是工程文件(.vbp)。)。 圖圖2.5 保存文件保存文件 將窗體文件命名為將窗體文件命名為2.1.frm,工程文件工程文件為為2.1.vbp。 2.1.2 含有簡(jiǎn)單代碼
6、的程序(含有簡(jiǎn)單代碼的程序(1 1) 上面的程序過于簡(jiǎn)單,它沒有提供與用戶交互上面的程序過于簡(jiǎn)單,它沒有提供與用戶交互的功能。要想使應(yīng)用程序能夠響應(yīng)用戶的操作,就的功能。要想使應(yīng)用程序能夠響應(yīng)用戶的操作,就需要編寫程序代碼。需要編寫程序代碼?!綪17P17例例2.22.2】編制一個(gè)含有簡(jiǎn)單代碼的程序。程序編制一個(gè)含有簡(jiǎn)單代碼的程序。程序界面和運(yùn)行結(jié)果如圖界面和運(yùn)行結(jié)果如圖2.62.6所示。所示。 圖圖2.6 例例2.2運(yùn)行結(jié)果運(yùn)行結(jié)果 2.1.2 含有簡(jiǎn)單代碼的程序(含有簡(jiǎn)單代碼的程序(2 2)(1 1)創(chuàng)建工程)創(chuàng)建工程(2 2)設(shè)計(jì)界面)設(shè)計(jì)界面 按照?qǐng)D按照?qǐng)D2.6所示的界面,單擊工具箱文
7、本框控件所示的界面,單擊工具箱文本框控件圖標(biāo),在窗體上畫出一個(gè)文本框。選擇工具箱命令圖標(biāo),在窗體上畫出一個(gè)文本框。選擇工具箱命令按鈕圖標(biāo),在窗體上畫出三個(gè)命令按鈕。調(diào)整好各按鈕圖標(biāo),在窗體上畫出三個(gè)命令按鈕。調(diào)整好各控件的大小和位置??丶拇笮『臀恢?。 (3 3)設(shè)置屬性)設(shè)置屬性窗體和各控件的屬性設(shè)置如表窗體和各控件的屬性設(shè)置如表2.12.1所示。所示。 表表2.1 窗體和控件屬性設(shè)置窗體和控件屬性設(shè)置 2.1.2 含有簡(jiǎn)單代碼的程序(含有簡(jiǎn)單代碼的程序(3 3)(4 4)編寫代碼)編寫代碼 為【顯示】按鈕的單擊事件編寫代碼。為【顯示】按鈕的單擊事件編寫代碼。在窗體設(shè)計(jì)窗口雙擊【顯示】按鈕,
8、自動(dòng)打開如圖在窗體設(shè)計(jì)窗口雙擊【顯示】按鈕,自動(dòng)打開如圖2.72.7所示所示的代碼窗口,光標(biāo)停留在該按鈕的的代碼窗口,光標(biāo)停留在該按鈕的ClickClick事件過程中。按事件過程中。按TabTab鍵(默認(rèn)縮進(jìn)鍵(默認(rèn)縮進(jìn)4 4個(gè)空格),然后輸入以下代碼(如圖個(gè)空格),然后輸入以下代碼(如圖2.82.8所所示):示): Text1.Text = 歡迎進(jìn)入歡迎進(jìn)入VB殿堂殿堂! 為【清除】按鈕的單擊事件編寫代碼:為【清除】按鈕的單擊事件編寫代碼: Text1.Text = 為【結(jié)束】按鈕的單擊事件編寫代碼:為【結(jié)束】按鈕的單擊事件編寫代碼: End(5 5)運(yùn)行程序、保存工程(運(yùn)行程序、保存工程(
9、2.2frm,2.2.vbp)2.2frm,2.2.vbp)圖圖2.7 圖圖2.7 過程模板過程模板 圖圖2.8 輸入代碼輸入代碼 單擊演示(例2.2)2.2 對(duì)象對(duì)象 w 2.2.1 對(duì)象是什么對(duì)象是什么 w 2.2.2 對(duì)象的屬性、事件和方法對(duì)象的屬性、事件和方法 2.2.1 對(duì)象是什么對(duì)象是什么 對(duì)象(對(duì)象(ObjectObject)的原意是指物體,它是現(xiàn)實(shí)世的原意是指物體,它是現(xiàn)實(shí)世界中事物的抽象表示。對(duì)象在實(shí)際生活中隨處可見。界中事物的抽象表示。對(duì)象在實(shí)際生活中隨處可見。 在面向?qū)ο蟮某绦蛟O(shè)計(jì)(在面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object Oriented Object Oriented Pr
10、ogrammingProgramming,OOPOOP)中,對(duì)象是具有屬性和方法,中,對(duì)象是具有屬性和方法,能對(duì)特定事件做出反應(yīng)的實(shí)體,如窗體、文本框、能對(duì)特定事件做出反應(yīng)的實(shí)體,如窗體、文本框、命令按鈕等都是對(duì)象。命令按鈕等都是對(duì)象。 對(duì)象是可以分類的。類(對(duì)象是可以分類的。類(ClassClass)是同種對(duì)象是同種對(duì)象的集合與抽象。對(duì)象是類的具體化,是類的實(shí)例,的集合與抽象。對(duì)象是類的具體化,是類的實(shí)例,而類是創(chuàng)建對(duì)象實(shí)例的模板。對(duì)象一旦建立,即可而類是創(chuàng)建對(duì)象實(shí)例的模板。對(duì)象一旦建立,即可改變其屬性。改變其屬性。 2.2.2 對(duì)象的屬性、事件和方法(對(duì)象的屬性、事件和方法(1) VB V
11、B是以對(duì)象為基礎(chǔ)的程序設(shè)計(jì)語言。在是以對(duì)象為基礎(chǔ)的程序設(shè)計(jì)語言。在VBVB中,中,窗體、控件等對(duì)象具有自己的屬性和方法,能對(duì)特窗體、控件等對(duì)象具有自己的屬性和方法,能對(duì)特定事件做出反應(yīng)。定事件做出反應(yīng)。1. 屬性屬性 2. 事件事件 3. 方法方法 2.2.2 對(duì)象的屬性、事件和方法(對(duì)象的屬性、事件和方法(2)1. 1. 屬性屬性 (1 1)屬性的設(shè)置)屬性的設(shè)置 對(duì)象屬性的設(shè)置有兩種方法:對(duì)象屬性的設(shè)置有兩種方法: 在屬性窗口直接設(shè)置。在屬性窗口直接設(shè)置。 在程序代碼中通過賦值實(shí)現(xiàn),格式如下:在程序代碼中通過賦值實(shí)現(xiàn),格式如下: 對(duì)象名對(duì)象名.屬性屬性 = 屬性值屬性值 若對(duì)象是當(dāng)前窗體,
12、可省略對(duì)象名。例如:若對(duì)象是當(dāng)前窗體,可省略對(duì)象名。例如: 將文本框?qū)ο髮⑽谋究驅(qū)ο骉ext1的的Text屬性設(shè)置為屬性設(shè)置為“Hello!” Text1.Text= “Hello!” 將當(dāng)前窗體的將當(dāng)前窗體的Caption屬性設(shè)置為屬性設(shè)置為“歡迎歡迎” Caption = “歡迎歡迎”2.2.2 對(duì)象的屬性、事件和方法(對(duì)象的屬性、事件和方法(3)(2 2)對(duì)象的命名)對(duì)象的命名 Name Name(名稱名稱)屬性是所有對(duì)象都具有的屬性,)屬性是所有對(duì)象都具有的屬性,在屬性窗口它位于屬性列表框的第一行,代表對(duì)象在屬性窗口它位于屬性列表框的第一行,代表對(duì)象的名稱。的名稱。 對(duì)象名稱主要用于在
13、程序代碼中引用對(duì)象。在對(duì)象名稱主要用于在程序代碼中引用對(duì)象。在一個(gè)窗體中,每個(gè)對(duì)象的名稱必須保證一個(gè)窗體中,每個(gè)對(duì)象的名稱必須保證惟一惟一性,即性,即不得有重名對(duì)象。對(duì)那些有可能在代碼中被引用的不得有重名對(duì)象。對(duì)那些有可能在代碼中被引用的對(duì)象,推薦采用能反映對(duì)象類型和功能的名稱,如對(duì)象,推薦采用能反映對(duì)象類型和功能的名稱,如frmHellofrmHello、txtAgetxtAge、cmdEndcmdEnd等。這樣做有利于檢查等。這樣做有利于檢查錯(cuò)誤,且可提高可讀性。錯(cuò)誤,且可提高可讀性。 2.2.2 對(duì)象的屬性、事件和方法(對(duì)象的屬性、事件和方法(4)2. 2. 事件事件 事件是由用戶或系統(tǒng)
14、觸發(fā),可以由對(duì)象識(shí)別的操作。事件是由用戶或系統(tǒng)觸發(fā),可以由對(duì)象識(shí)別的操作。 當(dāng)在對(duì)象上發(fā)生了某個(gè)事件時(shí),如果要處理這個(gè)事件,就必須設(shè)計(jì)當(dāng)在對(duì)象上發(fā)生了某個(gè)事件時(shí),如果要處理這個(gè)事件,就必須設(shè)計(jì)事件處理的步驟。事件處理的步驟稱為事件過程事件處理的步驟。事件處理的步驟稱為事件過程。VBVB程序設(shè)計(jì)的主要任程序設(shè)計(jì)的主要任務(wù)就是為對(duì)象編寫事件過程中的程序代碼。務(wù)就是為對(duì)象編寫事件過程中的程序代碼。事件過程的語法如下:事件過程的語法如下:Private Sub 對(duì)象名對(duì)象名_事件名事件名(參數(shù)表參數(shù)表) 處理事件的代碼處理事件的代碼End Sub如果對(duì)象是窗體如果對(duì)象是窗體, ,則一律用則一律用For
15、m_事件名事件名 例如,在前面的例例如,在前面的例2.22.2中,單擊命令按鈕中,單擊命令按鈕Command2Command2(“清除清除”按鈕)按鈕)時(shí),將文本框時(shí),將文本框Text1Text1中的內(nèi)容清空,對(duì)應(yīng)的事件過程如下:中的內(nèi)容清空,對(duì)應(yīng)的事件過程如下:Private Sub Command2_Click() Text1.Text = End Sub2.2.2 對(duì)象的屬性、事件和方法(對(duì)象的屬性、事件和方法(5)3. 3. 方法方法 方法是對(duì)象所具有的動(dòng)作或功能。方法是對(duì)象所具有的動(dòng)作或功能。 例如:例如: 調(diào)用窗體的調(diào)用窗體的PrintPrint方法,可以在窗體上顯示文方法,可以在
16、窗體上顯示文字,字, 調(diào)用窗體的調(diào)用窗體的MoveMove方法,可以移動(dòng)窗體的位置。方法,可以移動(dòng)窗體的位置。 調(diào)用對(duì)象的方法的格式為:調(diào)用對(duì)象的方法的格式為: 對(duì)象名對(duì)象名.方法名方法名2.2.2 對(duì)象的屬性、事件和方法(對(duì)象的屬性、事件和方法(6) 若省略對(duì)象名,則默認(rèn)為當(dāng)前窗體。例如:若省略對(duì)象名,則默認(rèn)為當(dāng)前窗體。例如: .Show 顯示窗體顯示窗體Form1 如果方法需要參數(shù),則用下面的格式調(diào)用對(duì)象的如果方法需要參數(shù),則用下面的格式調(diào)用對(duì)象的方法:方法: 對(duì)象名對(duì)象名.方法名方法名 參數(shù)表參數(shù)表 若有多個(gè)參數(shù),需用逗號(hào)分隔。例如:若有多個(gè)參數(shù),需用逗號(hào)分隔。例如: Print 歡迎歡
17、迎! 在當(dāng)前窗體上顯示文字在當(dāng)前窗體上顯示文字 以下語句以下語句將窗體將窗體Form1移動(dòng)到屏幕左上角移動(dòng)到屏幕左上角 Form1.Move 0, 02.3 用戶界面的載體用戶界面的載體窗體窗體w 2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì)w 2.3.2 在窗體上顯示文字在窗體上顯示文字w 2.3.3 窗體的加載和卸載窗體的加載和卸載w 2.3.4 窗體能識(shí)別的常用事件窗體能識(shí)別的常用事件w 2.3.5 窗體可以使用的常用方法窗體可以使用的常用方法w 2.3.6 多窗體應(yīng)用程序多窗體應(yīng)用程序 2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì) (1)窗體的外觀是由窗體的屬性決定的。窗體的外觀是由窗體的屬性
18、決定的。1. 1. Caption Caption 標(biāo)題標(biāo)題CaptionCaption屬性用于返回或設(shè)置窗體標(biāo)題欄上顯示的文字。屬性用于返回或設(shè)置窗體標(biāo)題欄上顯示的文字。注意注意:該屬性的默認(rèn)值與對(duì)象的默認(rèn)名稱相同,正因?yàn)槿缭搶傩缘哪J(rèn)值與對(duì)象的默認(rèn)名稱相同,正因?yàn)槿绱?,初學(xué)者最容易將它與此,初學(xué)者最容易將它與NameName(名稱)屬性混淆。名稱)屬性混淆。 在代碼中訪問窗體的在代碼中訪問窗體的CaptionCaption屬性(其他屬性和方法與屬性(其他屬性和方法與之相似)可用以下幾種形式:之相似)可用以下幾種形式: 用窗體對(duì)象的名稱訪問其屬性用窗體對(duì)象的名稱訪問其屬性 Form1.Cap
19、tion = Hello2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì) (2)Me關(guān)鍵字指當(dāng)前窗體對(duì)象關(guān)鍵字指當(dāng)前窗體對(duì)象 Me.Caption = Hello 省略對(duì)象名稱默認(rèn)為訪問當(dāng)前窗體的屬性省略對(duì)象名稱默認(rèn)為訪問當(dāng)前窗體的屬性 Caption = Hello Me Me關(guān)鍵字在編程時(shí)經(jīng)常使用,它既可以簡(jiǎn)化代關(guān)鍵字在編程時(shí)經(jīng)常使用,它既可以簡(jiǎn)化代碼,也可以提高程序的可讀性。碼,也可以提高程序的可讀性。2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì) (3)2. BackColor、ForeColor 背景色和前景色背景色和前景色 BackColor屬性返回或設(shè)置窗體的背景顏色。屬性返回或設(shè)置窗體的背景
20、顏色。 ForeColor返回或設(shè)置窗體的前景色,即顯示在返回或設(shè)置窗體的前景色,即顯示在窗體中的文字和圖形顏色。窗體中的文字和圖形顏色。 在屬性窗口單擊這兩個(gè)屬性右側(cè)的下拉按鈕可在屬性窗口單擊這兩個(gè)屬性右側(cè)的下拉按鈕可選擇一種顏色。選擇一種顏色。 VB提供了提供了8個(gè)顏色常數(shù),可在代碼中直接用于顏個(gè)顏色常數(shù),可在代碼中直接用于顏色設(shè)置:色設(shè)置:vbBlack(黑色)、黑色)、vbRed(紅色)、紅色)、vbGreen(綠色)、綠色)、vbYellow(黃色)、黃色)、vbBlue(藍(lán)色)、藍(lán)色)、vbMagenta(洋紅)、洋紅)、vbCyan(青色)青色)和和vbWhite(白色)。白色)
21、。 2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì) (4)例如:例如:設(shè)置背景色為白色設(shè)置背景色為白色Form1.BackColor = vbWhite設(shè)前景色為藍(lán)色設(shè)前景色為藍(lán)色Me.ForeColor = vbBlue2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì) (5)3. Left、Top、Height、Width 位置和大小位置和大小 幾乎所有可視控件都具有這幾個(gè)屬性。幾乎所有可視控件都具有這幾個(gè)屬性。Left和和Top分別表示對(duì)象距容器左邊界和頂邊界的距離,分別表示對(duì)象距容器左邊界和頂邊界的距離,它們決定了對(duì)象在容器中的位置。窗體的容器是屏它們決定了對(duì)象在容器中的位置。窗體的容器是屏幕,控件的
22、容器通常為窗體,也可以是框架幕,控件的容器通常為窗體,也可以是框架(Frame)、)、圖片框(圖片框(PictureBox)或選項(xiàng)卡或選項(xiàng)卡(SSTab)控件??丶?。Height和和Width分別指定對(duì)象的分別指定對(duì)象的高度和寬度。這四個(gè)屬性的默認(rèn)計(jì)量單位為緹高度和寬度。這四個(gè)屬性的默認(rèn)計(jì)量單位為緹(twip,1厘米厘米=567緹)。緹)。 2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì) (6)4. ControlBox、MaxButton、MinButton 邊框元素邊框元素 這三個(gè)屬性決定是否出現(xiàn)窗體的邊框元素,均為邏輯值。這三個(gè)屬性決定是否出現(xiàn)窗體的邊框元素,均為邏輯值。5. BorderSt
23、yle 邊框樣式邊框樣式 用于設(shè)置窗體邊框的樣式。該屬性在運(yùn)行時(shí)只讀。當(dāng)用于設(shè)置窗體邊框的樣式。該屬性在運(yùn)行時(shí)只讀。當(dāng)BorderStyleBorderStyle設(shè)置為除設(shè)置為除2 2以外的值時(shí),系統(tǒng)自動(dòng)將以外的值時(shí),系統(tǒng)自動(dòng)將MaxButtonMaxButton和和MinBttonMinBtton屬性設(shè)置為屬性設(shè)置為FalseFalse。6. Icon 圖標(biāo)圖標(biāo) Icon屬性指定窗體處于最小化時(shí)顯示的圖標(biāo),同時(shí)也是屬性指定窗體處于最小化時(shí)顯示的圖標(biāo),同時(shí)也是控制菜單框的圖標(biāo)??刂撇藛慰虻膱D標(biāo)。 7. Picture 背景圖片背景圖片該屬性用于設(shè)置窗體中要顯示的背景圖片。該屬性用于設(shè)置窗體中要
24、顯示的背景圖片。2.3.1 窗體的外觀設(shè)計(jì)窗體的外觀設(shè)計(jì) (7)8. WindowsState 窗口狀態(tài)窗口狀態(tài)該屬性表示窗體在運(yùn)行時(shí)以什么狀態(tài)顯示。屬性值有:該屬性表示窗體在運(yùn)行時(shí)以什么狀態(tài)顯示。屬性值有:0 - 0 - NormalNormal:正常窗口狀態(tài)。正常窗口狀態(tài)。1 - 1 - MinmizedMinmized:最小化狀態(tài),以圖標(biāo)方式顯示。最小化狀態(tài),以圖標(biāo)方式顯示。2 - 2 - ManmizedManmized:最大化狀態(tài),無邊框,充滿整個(gè)屏幕。最大化狀態(tài),無邊框,充滿整個(gè)屏幕。在代碼中設(shè)置該屬性時(shí),可以使用數(shù)值在代碼中設(shè)置該屬性時(shí),可以使用數(shù)值0 0、1 1、2 2,也可以
25、使,也可以使用用VBVB常數(shù)常數(shù)vbNormalvbNormal、vbMinmizedvbMinmized、vbManmizedvbManmized。例如:例如: Me.WindowState = vbMinimized 使窗體最小化使窗體最小化 Me.WindowState = 0 使窗體恢復(fù)為正常狀態(tài)使窗體恢復(fù)為正常狀態(tài)顯然,使用顯然,使用VB常數(shù)可讀性更強(qiáng)。常數(shù)可讀性更強(qiáng)。2.3.2 在窗體上顯示文字在窗體上顯示文字 (1)1. 1. PrintPrint方法的初步應(yīng)用方法的初步應(yīng)用調(diào)用窗體對(duì)象的調(diào)用窗體對(duì)象的PrintPrint方法可以在窗體上輸出字符串。方法可以在窗體上輸出字符串?!?/p>
26、P23例例2.32.3】用用PrintPrint方法顯示窗體的當(dāng)前位置。方法顯示窗體的當(dāng)前位置。(1 1)設(shè)計(jì)界面及設(shè)置屬性)設(shè)計(jì)界面及設(shè)置屬性 在窗體上放置一個(gè)命令按鈕在窗體上放置一個(gè)命令按鈕Command1,將其將其Caption屬性設(shè)為屬性設(shè)為“改變屬性值移動(dòng)窗體改變屬性值移動(dòng)窗體”。將窗體的。將窗體的MaxButton屬性設(shè)為屬性設(shè)為False(窗體最大化或最小化時(shí),若通過代碼移動(dòng)窗體最大化或最小化時(shí),若通過代碼移動(dòng)窗體位置將會(huì)出錯(cuò))。窗體其他屬性的設(shè)置:設(shè)窗體位置將會(huì)出錯(cuò))。窗體其他屬性的設(shè)置:設(shè)Caption為為“在窗體上顯示文字在窗體上顯示文字”,BackColor為白色,為白色
27、,F(xiàn)oreColor為為藍(lán)色,藍(lán)色,Left和和Top均為均為300;設(shè)置字體為;設(shè)置字體為“黑體黑體”,字號(hào),字號(hào)12。 2.3.2 在窗體上顯示文字在窗體上顯示文字 (2)(2 2)編寫代碼)編寫代碼 程序代碼的任務(wù)是單擊命令按鈕和窗體時(shí)改變或程序代碼的任務(wù)是單擊命令按鈕和窗體時(shí)改變或恢復(fù)窗體位置,并顯示窗體坐標(biāo)?;謴?fù)窗體位置,并顯示窗體坐標(biāo)。 在在Command1Command1的的ClickClick事件中通過改變事件中通過改變LeftLeft和和TopTop屬屬性,使窗體右移、下移各性,使窗體右移、下移各200200緹。緹。 在窗體的在窗體的ClickClick事件中通過改變事件中通
28、過改變LeftLeft和和TopTop屬性,屬性,使窗體恢復(fù)原位。使窗體恢復(fù)原位。 每次移動(dòng)窗體以及窗體復(fù)位時(shí),用每次移動(dòng)窗體以及窗體復(fù)位時(shí),用PrintPrint方法在方法在窗體上顯示窗體的當(dāng)前坐標(biāo)。窗體上顯示窗體的當(dāng)前坐標(biāo)。設(shè)計(jì)界面如圖設(shè)計(jì)界面如圖2.12所示,程序運(yùn)行效果如圖所示,程序運(yùn)行效果如圖2.13所所示。示。2.3.2 在窗體上顯示文字在窗體上顯示文字 (3) 圖圖2.12 例例2.3設(shè)計(jì)時(shí)界面設(shè)計(jì)時(shí)界面 圖圖2.13 例例2.3運(yùn)行時(shí)界面運(yùn)行時(shí)界面 程序代碼如下:程序代碼如下: 2.3.2 在窗體上顯示文字在窗體上顯示文字 (4)命令按鈕的單擊事件命令按鈕的單擊事件Privat
29、e Sub Command1_Click() 改變改變 Left Left 和和 Top Top 屬性值移動(dòng)窗體屬性值移動(dòng)窗體 Me.Left = Me.Left + 200 Me.Top = Me.Top + 200 Cls 清屏清屏 Print 窗體左上角在屏幕上的坐標(biāo)為:窗體左上角在屏幕上的坐標(biāo)為: Print Me.Left; ,; Me.Top Print 單擊窗體恢復(fù)原位。單擊窗體恢復(fù)原位。End Sub單擊演示(例2.3)2.3.2 在窗體上顯示文字在窗體上顯示文字 (5)Private Sub Form_Click() 窗體的單擊事件窗體的單擊事件 恢復(fù)窗體初始位置恢復(fù)窗體初始
30、位置 Me.Left = 300 Me.Top = 300 Cls Print 窗體左上角在屏幕上的坐標(biāo)為:窗體左上角在屏幕上的坐標(biāo)為: Print Me.Left; ,; Me.TopEnd Sub單擊演示(例2.3)2.3.2 在窗體上顯示文字在窗體上顯示文字 (6) 用用PrintPrint方法在窗體上顯示文字的一般語法格式方法在窗體上顯示文字的一般語法格式為:為: 對(duì)象名對(duì)象名.Print 輸出項(xiàng)列表輸出項(xiàng)列表 ;| , 若省略對(duì)象名,則默認(rèn)為當(dāng)前窗體。若省略對(duì)象名,則默認(rèn)為當(dāng)前窗體。 “輸出項(xiàng)列表輸出項(xiàng)列表”參數(shù)是顯示在窗體上的文本。如參數(shù)是顯示在窗體上的文本。如果該參數(shù)有多個(gè)輸出項(xiàng)
31、,必須用分號(hào)或逗號(hào)分隔。果該參數(shù)有多個(gè)輸出項(xiàng),必須用分號(hào)或逗號(hào)分隔。其中分號(hào)表示各輸出項(xiàng)連續(xù)輸出,中間無空格;逗其中分號(hào)表示各輸出項(xiàng)連續(xù)輸出,中間無空格;逗號(hào)表示各輸出項(xiàng)按分區(qū)格式輸出,每個(gè)分區(qū)寬度為號(hào)表示各輸出項(xiàng)按分區(qū)格式輸出,每個(gè)分區(qū)寬度為1414個(gè)字符。如果省略各參數(shù),則輸出一個(gè)空行。個(gè)字符。如果省略各參數(shù),則輸出一個(gè)空行。在前面的代碼中還使用了在前面的代碼中還使用了Cls方法,用于清除由方法,用于清除由Print方法生成的文本或繪圖方法生成的圖形。方法生成的文本或繪圖方法生成的圖形。 2.3.2 在窗體上顯示文字在窗體上顯示文字 (7) 2. Font屬性與字體設(shè)置屬性與字體設(shè)置 在代
32、碼中設(shè)置字體屬性與設(shè)置其他屬性(如在代碼中設(shè)置字體屬性與設(shè)置其他屬性(如CaptionCaption屬屬性等)有所不同。例如:性等)有所不同。例如: Me.FontName = 黑體黑體 設(shè)當(dāng)前窗體字體為黑體設(shè)當(dāng)前窗體字體為黑體 Me.FontSize = 12 字號(hào)為字號(hào)為1212磅,磅,1 1磅磅=20=20緹緹 Me.FontBold = True 加粗加粗也可以使用另外一種形式,即在也可以使用另外一種形式,即在FontFont后加圓點(diǎn)。例如:后加圓點(diǎn)。例如: Me.Font.Name = 隸書隸書 Text1.Font.Underline = True2.3.3 窗體的加載和卸載(窗體
33、的加載和卸載(1) 1. 窗體的加載窗體的加載 窗體的加載是指窗體及其所有控件被裝入內(nèi)存,但界面窗體的加載是指窗體及其所有控件被裝入內(nèi)存,但界面尚未顯示。通常在尚未顯示。通常在LoadLoad事件過程中加入窗體的初始化處理事件過程中加入窗體的初始化處理代碼,如設(shè)置窗體和控件屬性的初始值等。代碼,如設(shè)置窗體和控件屬性的初始值等。 【P25例例2.42.4】在在LoadLoad事件中通過代碼為窗體和命令按鈕事件中通過代碼為窗體和命令按鈕的屬性設(shè)置初始值,實(shí)現(xiàn)與例的屬性設(shè)置初始值,實(shí)現(xiàn)與例2.32.3同樣的功能。同樣的功能。 新建一個(gè)工程,在窗體上添加一個(gè)命令按鈕。將窗體新建一個(gè)工程,在窗體上添加一
34、個(gè)命令按鈕。將窗體的的MaxButtonMaxButton屬性設(shè)為屬性設(shè)為FalseFalse(該屬性運(yùn)行時(shí)只讀),其他該屬性運(yùn)行時(shí)只讀),其他屬性均不作設(shè)置。屬性均不作設(shè)置。雙擊窗體打開代碼窗口,輸入以下代碼:雙擊窗體打開代碼窗口,輸入以下代碼:2.3.3 窗體的加載和卸載(窗體的加載和卸載(2)Private Sub Form_Load() 設(shè)置窗體的屬性設(shè)置窗體的屬性 Me.Caption = 在窗體上顯示文字在窗體上顯示文字 Me.FontSize = 12 Me.FontName = 黑體黑體 Me.ForeColor = vbBlue Me.BackColor = vbWhite
35、Me.Left = 300 設(shè)置窗體位置的初始坐標(biāo)設(shè)置窗體位置的初始坐標(biāo) Me.Top = 300 Command1.Caption = 改變屬性值移動(dòng)窗體改變屬性值移動(dòng)窗體End Sub按鈕和窗體單擊事件的代碼與例按鈕和窗體單擊事件的代碼與例2.3相同。程序運(yùn)行效果與圖相同。程序運(yùn)行效果與圖2.13相同。相同。 單擊演示單擊演示(例例2.4)2.3.3 窗體的加載和卸載(窗體的加載和卸載(3)2. 窗體的卸載窗體的卸載窗體的卸載是指窗體被關(guān)閉而從屏幕上消失。用戶窗體的卸載是指窗體被關(guān)閉而從屏幕上消失。用戶單擊窗體上的關(guān)閉按鈕或在代碼中執(zhí)行單擊窗體上的關(guān)閉按鈕或在代碼中執(zhí)行UnloadUnlo
36、ad語句語句時(shí),即可卸載窗體。時(shí),即可卸載窗體。UnloadUnload語句的語法如下:語句的語法如下: Unload 對(duì)象對(duì)象例如:例如: Unload Form1 Unload Me2.3.3 窗體的加載和卸載(窗體的加載和卸載(4) 窗體卸載前依次發(fā)生窗體卸載前依次發(fā)生QueryUnloadQueryUnload事件和事件和UnloadUnload事件。這兩個(gè)事件都有一個(gè)參數(shù)事件。這兩個(gè)事件都有一個(gè)參數(shù)“CancelCancel”,在事件過程中將該參數(shù)設(shè)為非零值可取消窗體的卸在事件過程中將該參數(shù)設(shè)為非零值可取消窗體的卸載。如果需要在窗體卸載時(shí)進(jìn)行一些善后處理(如載。如果需要在窗體卸載時(shí)進(jìn)
37、行一些善后處理(如保存數(shù)據(jù)或文件等),可以在這兩個(gè)事件中提示用保存數(shù)據(jù)或文件等),可以在這兩個(gè)事件中提示用戶,并做出相應(yīng)的處理。注意不要將戶,并做出相應(yīng)的處理。注意不要將UnloadUnload語句和語句和UnloadUnload事件混為一談。事件混為一談。 在例在例2.22.2的【結(jié)束】按鈕的單擊事件過程中,我的【結(jié)束】按鈕的單擊事件過程中,我們?cè)褂昧藗冊(cè)褂昧薊ndEnd語句。語句。EndEnd語句直接結(jié)束應(yīng)用程序的語句直接結(jié)束應(yīng)用程序的運(yùn)行,不觸發(fā)運(yùn)行,不觸發(fā)QueryUnloadQueryUnload和和UnloadUnload事件。事件。2.3.4 2.3.4 窗體能識(shí)別的常用事件
38、窗體能識(shí)別的常用事件 (1) 1. 鼠標(biāo)事件鼠標(biāo)事件 Click Click事件:?jiǎn)螕舸绑w的空白區(qū)域或一個(gè)無效控事件:?jiǎn)螕舸绑w的空白區(qū)域或一個(gè)無效控件時(shí)發(fā)生。件時(shí)發(fā)生。 DblClick DblClick事件:雙擊窗體的空白區(qū)域或一個(gè)無效事件:雙擊窗體的空白區(qū)域或一個(gè)無效控件時(shí)發(fā)生??丶r(shí)發(fā)生。 MouseDown MouseDown事件:當(dāng)用戶在對(duì)象上按下鼠標(biāo)鍵時(shí)事件:當(dāng)用戶在對(duì)象上按下鼠標(biāo)鍵時(shí)觸發(fā)該事件。觸發(fā)該事件。 MouseUp MouseUp事件:當(dāng)用戶在對(duì)象上釋放鼠標(biāo)鍵時(shí)觸事件:當(dāng)用戶在對(duì)象上釋放鼠標(biāo)鍵時(shí)觸發(fā)該事件發(fā)該事件 MouseMove MouseMove事件:當(dāng)用戶在對(duì)象上
39、移動(dòng)鼠標(biāo)時(shí)觸事件:當(dāng)用戶在對(duì)象上移動(dòng)鼠標(biāo)時(shí)觸發(fā)該事件。發(fā)該事件。2.3.4 2.3.4 窗體能識(shí)別的常用事件窗體能識(shí)別的常用事件 (2) 2. Activate和和Deactivate事件事件 ActivateActivate是窗體的激活事件,在窗體由非是窗體的激活事件,在窗體由非活 動(dòng) 窗 口 變 為 活 動(dòng) 窗 口 的 瞬 間 發(fā) 生 ?;?動(dòng) 窗 口 變 為 活 動(dòng) 窗 口 的 瞬 間 發(fā) 生 。DeactivateDeactivate事件與事件與ActivateActivate事件相對(duì),在窗事件相對(duì),在窗體由活動(dòng)窗口變?yōu)榉腔顒?dòng)窗口的瞬間發(fā)生。體由活動(dòng)窗口變?yōu)榉腔顒?dòng)窗口的瞬間發(fā)生。 3.
40、 ReSize事件事件 當(dāng)窗體第一次顯示或改變窗體的大小時(shí)發(fā)當(dāng)窗體第一次顯示或改變窗體的大小時(shí)發(fā)生該事件。利用該事件可以在改變窗體的大生該事件。利用該事件可以在改變窗體的大小時(shí)移動(dòng)控件或調(diào)整其大小。小時(shí)移動(dòng)控件或調(diào)整其大小。 2.3.5 2.3.5 窗體可以使用的常用方法窗體可以使用的常用方法(1) 1. Cls方法方法 Cls Cls方法用于清除運(yùn)行時(shí)在窗體或圖片框方法用于清除運(yùn)行時(shí)在窗體或圖片框中顯示的文本或圖形。格式如下:中顯示的文本或圖形。格式如下: 對(duì)象對(duì)象.Cls 其中:其中:“對(duì)象對(duì)象”為窗體或圖片框,若省略為窗體或圖片框,若省略則默認(rèn)為當(dāng)前窗體。窗體中使用則默認(rèn)為當(dāng)前窗體。窗體
41、中使用Picture屬性屬性設(shè)置的背景位圖和放置在窗體上的控件不受設(shè)置的背景位圖和放置在窗體上的控件不受Cls方法影響。方法影響。 2.3.5 2.3.5 窗體可以使用的常用方法窗體可以使用的常用方法(2) 2. Move方法方法 Move Move 方法用于移動(dòng)窗體或控件,并可以方法用于移動(dòng)窗體或控件,并可以改變其大小。格式如下:改變其大小。格式如下: 對(duì)象對(duì)象.Move 左邊距離左邊距離,上邊距離,上邊距離,寬度寬度,高度,高度 其中:其中: 對(duì)象對(duì)象:可以是窗體以及除菜單以外的所有可:可以是窗體以及除菜單以外的所有可視控件,若省略對(duì)象則默認(rèn)為當(dāng)前窗體。視控件,若省略對(duì)象則默認(rèn)為當(dāng)前窗體。
42、2.3.5 2.3.5 窗體可以使用的常用方法窗體可以使用的常用方法(3) 左邊距離、上邊距離、寬度、高度左邊距離、上邊距離、寬度、高度:均為:均為數(shù)值,以數(shù)值,以twiptwip為單位。為單位。 如果對(duì)象是窗體,則如果對(duì)象是窗體,則“左邊距離左邊距離”和和“上上邊距離邊距離”以屏幕左邊界和上邊界為準(zhǔn),否則以以屏幕左邊界和上邊界為準(zhǔn),否則以窗體等容器內(nèi)部的左邊界和上邊界為準(zhǔn)。窗體等容器內(nèi)部的左邊界和上邊界為準(zhǔn)?!皩拰挾榷取焙秃汀案叨雀叨取敝付▽?duì)象的新寬度和新高度。指定對(duì)象的新寬度和新高度。調(diào)用調(diào)用MoveMove方法后將自動(dòng)改變對(duì)象的方法后將自動(dòng)改變對(duì)象的LeftLeft、TopTop、Wid
43、thWidth和和HeightHeight四個(gè)屬性。四個(gè)屬性。 2.3.5 2.3.5 窗體可以使用的常用方法窗體可以使用的常用方法(4) 【P27P27例例2.52.5】用用MoveMove方法移動(dòng)窗體,運(yùn)行方法移動(dòng)窗體,運(yùn)行程序后與改變屬性值具有同樣的效果。程序后與改變屬性值具有同樣的效果。 在例在例2.32.3的窗體中添加一個(gè)命令按鈕的窗體中添加一個(gè)命令按鈕Command2Command2,設(shè)其設(shè)其CaptionCaption屬性為屬性為 “ “用用MoveMove方法方法移動(dòng)窗體移動(dòng)窗體”,為該按鈕的單擊事件編寫如下代,為該按鈕的單擊事件編寫如下代碼:碼: 2.3.5 2.3.5 窗體
44、可以使用的常用方法窗體可以使用的常用方法(5) Private Sub Command2_Click() 使窗體向右、向下各移動(dòng)使窗體向右、向下各移動(dòng)200緹緹 Me.Move Me.Left+200, Me.Top+200 Cls Print 窗體左上角在屏幕上的坐標(biāo)為:窗體左上角在屏幕上的坐標(biāo)為: Print Me.Left; ,; Me.Top Print 單擊窗體恢復(fù)原位。單擊窗體恢復(fù)原位。End Sub 單擊演示單擊演示(例例2.5)2.3.5 2.3.5 窗體可以使用的常用方法窗體可以使用的常用方法(6)【P27P27例例2.62.6】使控件大小與窗體大小相適應(yīng)。使控件大小與窗體大
45、小相適應(yīng)。 新建工程,在窗體上添加一個(gè)文本框新建工程,在窗體上添加一個(gè)文本框Text1Text1。為窗體的為窗體的ResizeResize事件過程編寫如下代碼:事件過程編寫如下代碼:Private Sub Form_Resize() Text1.Move 0, 0, _Me.ScaleWidth, Me.ScaleHeightEnd Sub 說明:當(dāng)窗體大小改變時(shí),觸發(fā)說明:當(dāng)窗體大小改變時(shí),觸發(fā)Resize事件,在該事事件,在該事件過程中調(diào)用文本框控件的件過程中調(diào)用文本框控件的Move方法,使文本框始終充滿方法,使文本框始終充滿整個(gè)窗體。在上述代碼中,使用了窗體的兩個(gè)特殊屬性:整個(gè)窗體。在上
46、述代碼中,使用了窗體的兩個(gè)特殊屬性:ScaleWidth和和ScaleHeight,它們分別代表窗體內(nèi)部繪它們分別代表窗體內(nèi)部繪圖區(qū)域的寬度和高度。圖區(qū)域的寬度和高度。 單擊演示單擊演示(例例2.6)2.3.6 2.3.6 多窗體應(yīng)用程多窗體應(yīng)用程 (1) 多窗體應(yīng)用程序是指一個(gè)應(yīng)用程序中有多個(gè)并列多窗體應(yīng)用程序是指一個(gè)應(yīng)用程序中有多個(gè)并列的普通窗體,每個(gè)窗體可以有自己的界面和程序代的普通窗體,每個(gè)窗體可以有自己的界面和程序代碼,完成不同的功能。碼,完成不同的功能。1 1. . 添加新窗體添加新窗體 執(zhí)行執(zhí)行“工程工程”“”“添加窗體添加窗體”命令或單擊工具欄命令或單擊工具欄上的添加窗體按鈕,
47、打開如上的添加窗體按鈕,打開如圖圖2.142.14所示的所示的“添加窗添加窗體體”對(duì)話框?qū)υ捒?,選擇,選擇“新建新建” “” “窗體窗體”圖標(biāo)并單圖標(biāo)并單擊擊“打開打開”按鈕,即可在工程中新建一個(gè)空白窗體按鈕,即可在工程中新建一個(gè)空白窗體;若選擇如;若選擇如圖圖2.152.15所示的所示的“現(xiàn)存現(xiàn)存”選項(xiàng)卡選項(xiàng)卡,則可以,則可以將一個(gè)已經(jīng)做好的窗體添加到當(dāng)前工程中。將一個(gè)已經(jīng)做好的窗體添加到當(dāng)前工程中。 添加窗體添加窗體 圖圖2.14 添加窗體(新建)添加窗體(新建) 圖圖2.15 添加窗體(現(xiàn)存)添加窗體(現(xiàn)存) 2.3.6 2.3.6 多窗體應(yīng)用程多窗體應(yīng)用程 (2) 2.2.設(shè)置啟動(dòng)對(duì)象
48、設(shè)置啟動(dòng)對(duì)象 在程序運(yùn)行過程中,首先執(zhí)行的對(duì)象被在程序運(yùn)行過程中,首先執(zhí)行的對(duì)象被稱為啟動(dòng)對(duì)象。在默認(rèn)情況下,一個(gè)應(yīng)用程稱為啟動(dòng)對(duì)象。在默認(rèn)情況下,一個(gè)應(yīng)用程序若含有多個(gè)窗體,則第一個(gè)創(chuàng)建的窗體被序若含有多個(gè)窗體,則第一個(gè)創(chuàng)建的窗體被指定為啟動(dòng)對(duì)象,即啟動(dòng)窗體。指定為啟動(dòng)對(duì)象,即啟動(dòng)窗體。 如果要指定其他窗體為啟動(dòng)窗體,可執(zhí)行如果要指定其他窗體為啟動(dòng)窗體,可執(zhí)行“工程工程” ” “ “工程屬性工程屬性”命令,打開如命令,打開如圖圖2.162.16所示的所示的“工程屬性工程屬性”對(duì)話框?qū)υ捒?,在,在“啟?dòng)啟動(dòng)對(duì)象對(duì)象”下拉列表框中選擇所需窗體并單擊下拉列表框中選擇所需窗體并單擊“確定確定”按鈕。
49、按鈕。 圖圖2.16 工程屬性對(duì)話框工程屬性對(duì)話框 2.3.6 2.3.6 多窗體應(yīng)用程多窗體應(yīng)用程 (3)3. 3. 移除窗體移除窗體 若當(dāng)前工程中不再需要某個(gè)窗體,可將其若當(dāng)前工程中不再需要某個(gè)窗體,可將其移除(不刪除磁盤文件)。移除的方法是先移除(不刪除磁盤文件)。移除的方法是先在工程資源管理器中選定要移除的窗體,然在工程資源管理器中選定要移除的窗體,然后執(zhí)行后執(zhí)行“工程工程” ” “ “移除移除xxxxxx”命令。命令。4. 4. 窗體的顯示與隱藏窗體的顯示與隱藏 調(diào)用窗體的調(diào)用窗體的ShowShow方法和方法和HideHide方法,或者通方法,或者通過代碼設(shè)置過代碼設(shè)置Visible
50、Visible屬性,可以實(shí)現(xiàn)窗體的顯屬性,可以實(shí)現(xiàn)窗體的顯示和隱藏。示和隱藏。2.3.6 2.3.6 多窗體應(yīng)用程多窗體應(yīng)用程 (4)(1 1)ShowShow方法方法窗體的窗體的ShowShow方法用于顯示窗體。調(diào)用格式為:方法用于顯示窗體。調(diào)用格式為: 窗體名窗體名.Show 模式模式 ,擁有者,擁有者 其中,其中,“模式模式”參數(shù)有兩種取值:參數(shù)有兩種取值:0 0(vbModalessvbModaless,默認(rèn)默認(rèn)值)為非模式窗體,值)為非模式窗體,1 1(vbModelvbModel)表示模式窗體。模式窗體表示模式窗體。模式窗體是指該窗體出現(xiàn)后,用戶必須對(duì)其作出響應(yīng),在關(guān)閉該窗體是指該
51、窗體出現(xiàn)后,用戶必須對(duì)其作出響應(yīng),在關(guān)閉該窗體前,不能對(duì)本程序中的其他窗體進(jìn)行操作。非模式窗體則無前,不能對(duì)本程序中的其他窗體進(jìn)行操作。非模式窗體則無此限制。此限制?!皳碛姓邠碛姓摺眳?shù)用于指定被顯示窗體的參數(shù)用于指定被顯示窗體的“父父”窗體窗體。通常將。通常將“擁有者擁有者”參數(shù)設(shè)為參數(shù)設(shè)為MeMe。例如,在窗體例如,在窗體Form1Form1的單的單擊事件過程中有如下語句:擊事件過程中有如下語句: Form2.Show vbModeless, Me其中,其中,MeMe表示表示Form1Form1,即即Form1Form1是是Form2Form2的擁有者。的擁有者。2.3.6 2.3.6 多
52、窗體應(yīng)用程多窗體應(yīng)用程 (5)(2 2)HideHide方法方法 Hide Hide方法用于隱藏窗體。調(diào)用格式為:方法用于隱藏窗體。調(diào)用格式為: 窗體名窗體名.Hide 與與UnloadUnload語句不同,語句不同,HideHide方法只是將窗體暫時(shí)隱方法只是將窗體暫時(shí)隱藏,并未卸載。藏,并未卸載。(3 3)VisibleVisible屬性屬性 在設(shè)計(jì)時(shí),通過屬性窗口設(shè)置在設(shè)計(jì)時(shí),通過屬性窗口設(shè)置VisibleVisible屬性用于指屬性用于指定窗體的可見性,定窗體的可見性,TrueTrue為可見,為可見,F(xiàn)alseFalse為不可見。為不可見。在代碼中將該屬性設(shè)為在代碼中將該屬性設(shè)為Tru
53、eTrue與調(diào)用不帶參數(shù)的與調(diào)用不帶參數(shù)的ShowShow方法效果相同,而將該屬性設(shè)為方法效果相同,而將該屬性設(shè)為FalseFalse等同于調(diào)用等同于調(diào)用HideHide方法。方法。 Visible Visible屬性也是各種可視控件的公有屬性。屬性也是各種可視控件的公有屬性。2.3.6 2.3.6 多窗體應(yīng)用程多窗體應(yīng)用程 (6) 【P29P29例例2.72.7】在程序啟動(dòng)窗體上單擊在程序啟動(dòng)窗體上單擊“關(guān)于關(guān)于”按按鈕,通過另一個(gè)窗體顯示版本信息。鈕,通過另一個(gè)窗體顯示版本信息。 新建工程,將窗體新建工程,將窗體Form1Form1改名為改名為frmMainfrmMain,設(shè)其設(shè)其Capt
54、ionCaption屬性為屬性為“主窗體主窗體”。在窗體上添加一個(gè)命。在窗體上添加一個(gè)命令按鈕,名稱為令按鈕,名稱為cmdAboutcmdAbout,設(shè)設(shè)CaptionCaption屬性為屬性為“關(guān)關(guān)于于”。添加一個(gè)新窗體,設(shè)名稱為。添加一個(gè)新窗體,設(shè)名稱為frmAboutfrmAbout,CaptionCaption屬性為屬性為“關(guān)于關(guān)于”,BorderStyleBorderStyle屬性為屬性為3 3;在在frmAboutfrmAbout窗體上添加一個(gè)標(biāo)簽,設(shè)窗體上添加一個(gè)標(biāo)簽,設(shè)CaptionCaption為為“多窗體示例多窗體示例 版本:版本:1.01.0”;添加一個(gè)命令按鈕,名;添加
55、一個(gè)命令按鈕,名稱為稱為cmdOkcmdOk,設(shè)設(shè)CaptionCaption為為“確定確定”。運(yùn)行結(jié)果如。運(yùn)行結(jié)果如圖圖2.172.17所示。所示。圖圖2.17 多窗體程序多窗體程序2.3.6 2.3.6 多窗體應(yīng)用程多窗體應(yīng)用程 (7)frmMainfrmMain窗體的窗體的“關(guān)于關(guān)于”按鈕單擊事件代碼如下:按鈕單擊事件代碼如下:Private Sub cmdAbout_Click() frmAbout.Show 1 顯示為模式窗體顯示為模式窗體End SubfrmAbout窗體窗體 “ “確定確定”按鈕單擊事件代碼如下:按鈕單擊事件代碼如下:Private Sub cmdOk_Click
56、() 若僅卸載本窗體則不應(yīng)使用若僅卸載本窗體則不應(yīng)使用EndEnd語句,語句, 否則將結(jié)束程序否則將結(jié)束程序 Unload Me End Sub單擊演示單擊演示(例例2.7)謝謝!本次課到此結(jié)束,下課!謝謝!本次課到此結(jié)束,下課!第第3講:教材講:教材P30P33講解內(nèi)容講解內(nèi)容 命令按鈕 標(biāo)簽同學(xué)們好,現(xiàn)在開始上課!同學(xué)們好,現(xiàn)在開始上課!2.4 2.4 讓用戶下達(dá)命令的控件讓用戶下達(dá)命令的控件- -命令按鈕命令按鈕 w 2.4.1 焦點(diǎn)焦點(diǎn) w 2.4.2 命令按鈕的常用屬性命令按鈕的常用屬性 w 2.4.3 命令按鈕的常用事件命令按鈕的常用事件 w 2.4.4 命令按鈕的常用方法命令按鈕
57、的常用方法 2.4.1 2.4.1 焦點(diǎn)焦點(diǎn) “焦點(diǎn)焦點(diǎn)” ” 是指對(duì)象接收鼠標(biāo)操作或鍵盤輸入的能力是指對(duì)象接收鼠標(biāo)操作或鍵盤輸入的能力。當(dāng)對(duì)象具有焦點(diǎn)時(shí),可以接收用戶的輸入。當(dāng)對(duì)象具有焦點(diǎn)時(shí),可以接收用戶的輸入。 在在WindowsWindows平臺(tái)下,同一時(shí)刻只有一個(gè)窗口、窗體或平臺(tái)下,同一時(shí)刻只有一個(gè)窗口、窗體或控件具有這種能力。例如,在含有多個(gè)文本框的窗體控件具有這種能力。例如,在含有多個(gè)文本框的窗體上,只有具有焦點(diǎn)的文本框才能接收用戶輸入的文本上,只有具有焦點(diǎn)的文本框才能接收用戶輸入的文本。具有焦點(diǎn)的對(duì)象通常會(huì)以突出顯示的標(biāo)題或標(biāo)題欄。具有焦點(diǎn)的對(duì)象通常會(huì)以突出顯示的標(biāo)題或標(biāo)題欄來表
58、示。來表示。 命令按鈕可以通過命令按鈕可以通過SetFocusSetFocus方法將焦點(diǎn)定位到自方法將焦點(diǎn)定位到自身。此外,在程序運(yùn)行時(shí),還可以使用身。此外,在程序運(yùn)行時(shí),還可以使用TabTab鍵使焦點(diǎn)在鍵使焦點(diǎn)在各個(gè)對(duì)象之間切換。各個(gè)對(duì)象之間切換。 具有焦點(diǎn)的命令按鈕的標(biāo)題周圍具有虛線邊框。具有焦點(diǎn)的命令按鈕的標(biāo)題周圍具有虛線邊框。 2.4.2 2.4.2 命令按鈕的常用屬性(命令按鈕的常用屬性(1 1) 1. 1. CaptionCaption屬性與訪問鍵屬性與訪問鍵 該屬性設(shè)置顯示在按鈕上的文字(標(biāo)題)。設(shè)該屬性設(shè)置顯示在按鈕上的文字(標(biāo)題)。設(shè)置置CaptionCaption屬性時(shí),如
59、果某個(gè)字母前面加上屬性時(shí),如果某個(gè)字母前面加上“& &”,則在程序運(yùn)行時(shí)標(biāo)題中的該字母即帶有下劃線,這則在程序運(yùn)行時(shí)標(biāo)題中的該字母即帶有下劃線,這一字母就成為訪問鍵。一字母就成為訪問鍵。 所謂訪問鍵是指與所謂訪問鍵是指與ALTALT鍵同時(shí)按下的鍵,用來打鍵同時(shí)按下的鍵,用來打開菜單、執(zhí)行命令或選擇對(duì)象。當(dāng)用戶按下開菜單、執(zhí)行命令或選擇對(duì)象。當(dāng)用戶按下Alt+Alt+訪訪問鍵時(shí),其作用與通過鼠標(biāo)單擊該按鈕相同。問鍵時(shí),其作用與通過鼠標(biāo)單擊該按鈕相同。 2.4.2 2.4.2 命令按鈕的常用屬性(命令按鈕的常用屬性(2 2) 2. Default2. Default和和Cancel
60、Cancel屬性屬性 Default Default屬性用于設(shè)置窗體中的命令按鈕是否屬性用于設(shè)置窗體中的命令按鈕是否為默認(rèn)命令按鈕,其值為為默認(rèn)命令按鈕,其值為FalseFalse或或TrueTrue。如果某如果某個(gè)命令按鈕的個(gè)命令按鈕的DefaultDefault屬性為屬性為TrueTrue,則在窗體啟則在窗體啟動(dòng)后,按動(dòng)后,按EnterEnter(回車)鍵就可以立即執(zhí)行該命回車)鍵就可以立即執(zhí)行該命令按鈕的功能。令按鈕的功能。 Cancel Cancel屬性用來設(shè)置窗體中某個(gè)命令按鈕是否屬性用來設(shè)置窗體中某個(gè)命令按鈕是否為為“取消取消”按鈕,其值為按鈕,其值為TrueTrue或或FalseFalse。程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 腦出血診斷與治療
- 藥劑科專業(yè)知識(shí)
- 育兒保健知識(shí)講座
- 藥廠年終總結(jié)模板
- 解剖學(xué)及生理學(xué)試題及答案
- 年度季度工作計(jì)劃與目標(biāo)設(shè)定指南
- 產(chǎn)品銷售代理合作協(xié)議修訂版
- 文物遺址保護(hù)服務(wù)相關(guān)項(xiàng)目投資計(jì)劃書
- 鄉(xiāng)村休閑農(nóng)業(yè)服務(wù)協(xié)議
- 勞務(wù)派遣公司勞務(wù)用工合同
- 樓施工電梯每日檢查表
- 車站調(diào)度員(高級(jí))試題
- (精心整理)林海雪原閱讀題及答案
- 適合汽車行業(yè)的英語愛好者
- 專用夾具設(shè)計(jì)說明書
- 氣缸選型介紹.ppt課件
- 消防設(shè)施檢測(cè)內(nèi)容及流程
- 帆船帆板俱樂部創(chuàng)業(yè)計(jì)劃書
- 砌體墻的基本構(gòu)造做法及附圖
- 第二章 法國(guó)學(xué)前教育
- 精雕JDPaint常用快捷鍵
評(píng)論
0/150
提交評(píng)論