




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第2 2章章 對(duì)象對(duì)象2.1 對(duì)象及其屬性設(shè)置對(duì)象及其屬性設(shè)置2.2 窗體窗體2.3 控件控件2.4 控件的畫法和基本操作控件的畫法和基本操作 編程思想主要分為兩類:編程思想主要分為兩類:面向過程面向過程和和面向?qū)ο竺嫦驅(qū)ο蟆#? 1)面向過程)面向過程 是一種以是一種以過程過程為中心的編程思想,也可稱之為為中心的編程思想,也可稱之為“面面向記錄向記錄”編程思想,它不支持豐富的編程思想,它不支持豐富的“面向?qū)ο竺嫦驅(qū)ο蟆碧匦蕴匦裕ū热缋^承、多態(tài)),并且它不允許混合持久化狀態(tài)和域(比如繼承、多態(tài)),并且它不允許混合持久化狀態(tài)和域邏輯。邏輯。 就是分析出解決問題所需要的步驟,然后用函數(shù)把這就是分
2、析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。以了。編程思想編程思想編程思想主要分為兩類:編程思想主要分為兩類:面向過程面向過程和和面向?qū)ο竺嫦驅(qū)ο?。? 2)面向?qū)ο螅┟嫦驅(qū)ο?是一種以是一種以事物事物為中心的編程思想,具有封裝、繼承為中心的編程思想,具有封裝、繼承和多態(tài)的特性。和多態(tài)的特性。 就是把構(gòu)成問題的事務(wù)分解成若干個(gè)對(duì)象,建立對(duì)象就是把構(gòu)成問題的事務(wù)分解成若干個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描述某個(gè)事物在的目的不是為了完成一個(gè)步驟,而是為了描述某個(gè)事物在整個(gè)解決問
3、題步驟中的行為。整個(gè)解決問題步驟中的行為。編程思想編程思想編程思想主要分為兩類:編程思想主要分為兩類:面向過程面向過程和和面向?qū)ο竺嫦驅(qū)ο?。?)公共汽車)公共汽車 “面向過程面向過程”就是汽車啟動(dòng)是一個(gè)事件,汽車到站就是汽車啟動(dòng)是一個(gè)事件,汽車到站是另一個(gè)事件。在編程序的時(shí)候我們關(guān)心的是某一個(gè)事件,是另一個(gè)事件。在編程序的時(shí)候我們關(guān)心的是某一個(gè)事件,而不是汽車本身。我們分別對(duì)啟動(dòng)和到站編寫程序。類似而不是汽車本身。我們分別對(duì)啟動(dòng)和到站編寫程序。類似的還有修理等等。的還有修理等等。編程思想實(shí)例編程思想實(shí)例public class 運(yùn)營(yíng)運(yùn)營(yíng) void 汽車啟動(dòng)汽車啟動(dòng) void 汽車到站汽車到站
4、 編程思想實(shí)例編程思想實(shí)例面向過程面向過程編程編程:“面向?qū)ο竺嫦驅(qū)ο蟆毙枰⒁粋€(gè)汽車的實(shí)體,由實(shí)體引發(fā)事需要建立一個(gè)汽車的實(shí)體,由實(shí)體引發(fā)事件。我們關(guān)心的是由汽車抽象成的對(duì)象,這個(gè)對(duì)象有自己件。我們關(guān)心的是由汽車抽象成的對(duì)象,這個(gè)對(duì)象有自己的屬性,像輪胎,顏色等;有自己的方法,象啟動(dòng),行駛的屬性,像輪胎,顏色等;有自己的方法,象啟動(dòng),行駛等。方法也就是汽車的行為,而不是汽車的每個(gè)事件。等。方法也就是汽車的行為,而不是汽車的每個(gè)事件。 編程思想實(shí)例編程思想實(shí)例public class 汽車汽車 void 到站到站() () void 啟動(dòng)啟動(dòng)() () 編程思想實(shí)例編程思想實(shí)例面向?qū)ο竺嫦驅(qū)?/p>
5、象編程:編程:編程思想主要分為兩類:編程思想主要分為兩類:面向過程面向過程和和面向?qū)ο竺嫦驅(qū)ο蟆#?)五子棋)五子棋 “面向過程面向過程”的設(shè)計(jì)思路就是首先分析問題的步驟:的設(shè)計(jì)思路就是首先分析問題的步驟:1 1、開始游戲,、開始游戲,2 2、黑子先走,、黑子先走,3 3、繪制畫面,、繪制畫面,4 4、判斷輸贏,、判斷輸贏,5 5、輪到白子,、輪到白子,6 6、繪制畫面,、繪制畫面,7 7、判斷輸贏,、判斷輸贏,8 8、返回步驟、返回步驟2 2,9 9、輸出最后結(jié)果。、輸出最后結(jié)果。 把上面每個(gè)步驟用分別的函數(shù)來實(shí)現(xiàn),問題就解決了。把上面每個(gè)步驟用分別的函數(shù)來實(shí)現(xiàn),問題就解決了。編程思想實(shí)例編
6、程思想實(shí)例“面向?qū)ο竺嫦驅(qū)ο蟆钡脑O(shè)計(jì)則是從另外的思路來解決問題。整的設(shè)計(jì)則是從另外的思路來解決問題。整個(gè)五子棋可以分為:個(gè)五子棋可以分為: 1 1、黑白雙方,這兩方的行為是一模、黑白雙方,這兩方的行為是一模一樣的,一樣的,2 2、棋盤系統(tǒng),負(fù)責(zé)繪制畫面,、棋盤系統(tǒng),負(fù)責(zé)繪制畫面,3 3、規(guī)則系統(tǒng),負(fù)、規(guī)則系統(tǒng),負(fù)責(zé)判定諸如犯規(guī)、輸贏等。責(zé)判定諸如犯規(guī)、輸贏等。第一類對(duì)象(玩家對(duì)象)負(fù)責(zé)接受用戶輸入,并告知第二第一類對(duì)象(玩家對(duì)象)負(fù)責(zé)接受用戶輸入,并告知第二類對(duì)象(棋盤對(duì)象)棋子布局的變化,棋盤對(duì)象接收到了類對(duì)象(棋盤對(duì)象)棋子布局的變化,棋盤對(duì)象接收到了棋子的變化就要負(fù)責(zé)在屏幕上面顯示出這種
7、變化,同時(shí)利棋子的變化就要負(fù)責(zé)在屏幕上面顯示出這種變化,同時(shí)利用第三類對(duì)象(規(guī)則系統(tǒng))來對(duì)棋局進(jìn)行判定。用第三類對(duì)象(規(guī)則系統(tǒng))來對(duì)棋局進(jìn)行判定。 編程思想實(shí)例編程思想實(shí)例面向?qū)ο笫且悦嫦驅(qū)ο笫且怨δ芄δ軄韯澐謫栴},而不是步驟。來劃分問題,而不是步驟。 同樣是繪制棋局,這樣的行為在面向過程的設(shè)計(jì)同樣是繪制棋局,這樣的行為在面向過程的設(shè)計(jì)中分散在了許多步驟中,很可能出現(xiàn)不同的繪制版本,中分散在了許多步驟中,很可能出現(xiàn)不同的繪制版本,因?yàn)橥ǔTO(shè)計(jì)人員會(huì)考慮到實(shí)際情況進(jìn)行各種各樣的因?yàn)橥ǔTO(shè)計(jì)人員會(huì)考慮到實(shí)際情況進(jìn)行各種各樣的簡(jiǎn)化。而面向?qū)ο蟮脑O(shè)計(jì)中,繪圖只可能在棋盤對(duì)象簡(jiǎn)化。而面向?qū)ο蟮脑O(shè)計(jì)中,繪
8、圖只可能在棋盤對(duì)象中出現(xiàn),從而保證了繪圖的統(tǒng)一。中出現(xiàn),從而保證了繪圖的統(tǒng)一。功能上的統(tǒng)一保證了面向?qū)ο笤O(shè)計(jì)的可擴(kuò)展性。功能上的統(tǒng)一保證了面向?qū)ο笤O(shè)計(jì)的可擴(kuò)展性。可以明顯看出,可以明顯看出,悔棋悔棋 五子棋五子棋 圍棋圍棋2.1 對(duì)象及其屬性設(shè)對(duì)象及其屬性設(shè)置置一、什么是對(duì)象?一、什么是對(duì)象?(1 1)對(duì)象是系統(tǒng)中基本的運(yùn)行實(shí)體。)對(duì)象是系統(tǒng)中基本的運(yùn)行實(shí)體。 將數(shù)據(jù)和處理該數(shù)據(jù)的過程(函數(shù)和子程序)打包在將數(shù)據(jù)和處理該數(shù)據(jù)的過程(函數(shù)和子程序)打包在一起而生成的新的數(shù)據(jù)類型稱之為對(duì)象。一起而生成的新的數(shù)據(jù)類型稱之為對(duì)象。(2)Visual Basic是一種面向?qū)ο笫且环N面向?qū)ο?Object
9、 Oriented)的的語言。語言。 在在 Visual Basic中,所有的窗體和控件都是對(duì)象。中,所有的窗體和控件都是對(duì)象。 對(duì)象是一個(gè)功能和數(shù)據(jù)對(duì)象是一個(gè)功能和數(shù)據(jù)獨(dú)立獨(dú)立的單元,有其自身的屬性、的單元,有其自身的屬性、方法和可為別人所做的工作,互相之間只能通過方法和可為別人所做的工作,互相之間只能通過對(duì)象認(rèn)對(duì)象認(rèn)可的途徑可的途徑進(jìn)行通訊來完成任務(wù),相互之間沒有預(yù)料不到進(jìn)行通訊來完成任務(wù),相互之間沒有預(yù)料不到的影響,也可以較為自由地為各個(gè)不同的軟件所使用。的影響,也可以較為自由地為各個(gè)不同的軟件所使用。這種代碼共享避免了重復(fù)的代碼設(shè)計(jì),提高了軟件開發(fā)這種代碼共享避免了重復(fù)的代碼設(shè)計(jì),提高
10、了軟件開發(fā)的效率。的效率。面向?qū)ο蟮脑O(shè)計(jì)方法把系統(tǒng)中的所有資源,如數(shù)據(jù)、模塊面向?qū)ο蟮脑O(shè)計(jì)方法把系統(tǒng)中的所有資源,如數(shù)據(jù)、模塊以及系統(tǒng)都看成對(duì)象,每個(gè)對(duì)象把一組數(shù)據(jù)類型和一組過以及系統(tǒng)都看成對(duì)象,每個(gè)對(duì)象把一組數(shù)據(jù)類型和一組過程封裝在一起,使得這組過程了解對(duì)這一數(shù)據(jù)類型的處理,程封裝在一起,使得這組過程了解對(duì)這一數(shù)據(jù)類型的處理,并在定義對(duì)象時(shí)可以規(guī)定外界在其運(yùn)行上的權(quán)限。使用這并在定義對(duì)象時(shí)可以規(guī)定外界在其運(yùn)行上的權(quán)限。使用這一方法,設(shè)計(jì)人員可以依照自己的意圖創(chuàng)建自己的對(duì)象,一方法,設(shè)計(jì)人員可以依照自己的意圖創(chuàng)建自己的對(duì)象,并將問題映射到該對(duì)象上。并將問題映射到該對(duì)象上。 1 1、預(yù)定義對(duì)象預(yù)
11、定義對(duì)象:由系統(tǒng)設(shè)計(jì)的,可直接使用:由系統(tǒng)設(shè)計(jì)的,可直接使用或操作;或操作;2 2、自定義對(duì)象自定義對(duì)象:用戶根據(jù)自己的需要自己設(shè):用戶根據(jù)自己的需要自己設(shè)計(jì)建立的對(duì)象。計(jì)建立的對(duì)象。窗體和控件是窗體和控件是VB最基本的對(duì)象。最基本的對(duì)象。除此之外還有:打印機(jī)、調(diào)試、剪貼板、屏幕等除此之外還有:打印機(jī)、調(diào)試、剪貼板、屏幕等對(duì)象。對(duì)象。二、對(duì)象的分類二、對(duì)象的分類三、如何使用對(duì)象?三、如何使用對(duì)象?對(duì)象是具有特殊屬性和行為方式的對(duì)象是具有特殊屬性和行為方式的實(shí)體實(shí)體。通常通過設(shè)。通常通過設(shè)置對(duì)象的置對(duì)象的屬性屬性、方法方法和和事件事件來操作對(duì)象。來操作對(duì)象。什么是屬性:什么是屬性:屬性是對(duì)象的一
12、個(gè)特性或者該對(duì)象操作的一個(gè)方面。屬性是對(duì)象的一個(gè)特性或者該對(duì)象操作的一個(gè)方面。例如,文本框的屬性包括例如,文本框的屬性包括Backcolor、Forecolor、Enabled、Height、Width、Left、Top、Name等等屬性。要更改一個(gè)對(duì)象的屬性,可以修改屬性的值。屬性。要更改一個(gè)對(duì)象的屬性,可以修改屬性的值。 什么是事件(什么是事件(Event):): 所謂事件是由所謂事件是由Visual Basic預(yù)先設(shè)置好的、能被對(duì)象識(shí)預(yù)先設(shè)置好的、能被對(duì)象識(shí)別的動(dòng)作。是用戶與程序交互的紐帶。別的動(dòng)作。是用戶與程序交互的紐帶。什么是方法(什么是方法(Method):): Visual Ba
13、sic的對(duì)象也有的對(duì)象也有動(dòng)作動(dòng)作和和行為行為,也就是說它們,也就是說它們“知道知道”該怎么做。這些動(dòng)作就叫做對(duì)象的方法。方法該怎么做。這些動(dòng)作就叫做對(duì)象的方法。方法就象是動(dòng)詞。例如,窗體的顯示或隱藏就是方法就象是動(dòng)詞。例如,窗體的顯示或隱藏就是方法(DemoDemo)。 Visual Basic中的窗體和控件都有其各自的屬性。不過,中的窗體和控件都有其各自的屬性。不過,有一些屬性適用于大多數(shù)對(duì)象:有一些屬性適用于大多數(shù)對(duì)象:Name 設(shè)置控件名稱,作為訪問控件的屬性設(shè)置控件名稱,作為訪問控件的屬性和方法的依據(jù)。和方法的依據(jù)。Appearance 設(shè)置控件的外觀。設(shè)置控件的外觀。BackCol
14、or 設(shè)置顯示文字或繪制圖形時(shí)的背景顏設(shè)置顯示文字或繪制圖形時(shí)的背景顏色。色。ForeColor 設(shè)置前景顏色。設(shè)置前景顏色。Font 設(shè)置控件文本所用字體的種類、字號(hào)設(shè)置控件文本所用字體的種類、字號(hào)和屬性。和屬性。四、常見的屬性四、常見的屬性Caption 設(shè)置不接受輸入的控件上顯示的文本,如設(shè)置不接受輸入的控件上顯示的文本,如標(biāo)簽的文本。標(biāo)簽的文本。Text 設(shè)置接受輸入的控件上顯示的文本,如設(shè)置接受輸入的控件上顯示的文本,如文本框的文本。文本框的文本。Width、Height 設(shè)置控件的尺寸。設(shè)置控件的尺寸。Left、Top 設(shè)置控件的左上角坐標(biāo)。設(shè)置控件的左上角坐標(biāo)。Enabled 設(shè)
15、置控件是否激活。缺省情況下為設(shè)置控件是否激活。缺省情況下為True;設(shè)置為;設(shè)置為False時(shí)控件不可用,顏色變?yōu)榛疑?。時(shí)控件不可用,顏色變?yōu)榛疑?。Visible 設(shè)置控件是否可見,缺省時(shí)為可見。設(shè)置控件是否可見,缺省時(shí)為可見。五、常見的方法五、常見的方法窗體常用的方法窗體常用的方法 Print方法方法 Cls(清除)方法(清除)方法 窗體名窗體名.Cls Move方法方法 窗體名窗體名.Move Left,Top,Width,Height 其中,其中,left、top、width、height都是單精度都是單精度型數(shù)據(jù),分別用來表示窗體對(duì)于型數(shù)據(jù),分別用來表示窗體對(duì)于Screen的邊緣位的邊
16、緣位置和窗體大小。置和窗體大小。 Show方法方法 用于在屏幕上顯示一個(gè)窗體用于在屏幕上顯示一個(gè)窗體Hide方法方法 用于窗體的隱藏用于窗體的隱藏 窗體名窗體名.Hide六、常見事件六、常見事件Click事件事件 程序運(yùn)行時(shí),單擊窗體的某個(gè)位置,程序運(yùn)行時(shí),單擊窗體的某個(gè)位置,Visual Basic將調(diào)用窗體的將調(diào)用窗體的Form_Click事件。如果是在窗體事件。如果是在窗體內(nèi)的控件上單擊的,那么只能調(diào)用控件上的內(nèi)的控件上單擊的,那么只能調(diào)用控件上的Click事件事件。DblClick事件事件 在窗體的某個(gè)位置雙擊,在窗體的某個(gè)位置雙擊,Visual Basic會(huì)調(diào)用會(huì)調(diào)用Form_Dbl
17、Click事件,而且第一次按下鼠標(biāo)的時(shí)候會(huì)先事件,而且第一次按下鼠標(biāo)的時(shí)候會(huì)先調(diào)用調(diào)用Click事件。事件。 Load事件事件 程序運(yùn)行的時(shí)候,窗體被載入內(nèi)存將觸發(fā)程序運(yùn)行的時(shí)候,窗體被載入內(nèi)存將觸發(fā)Load事件事件。該事件一般用來對(duì)屬性和變量的。該事件一般用來對(duì)屬性和變量的初始化初始化。UnLoad事件事件 卸載窗體時(shí)候觸發(fā)的事件。卸載窗體時(shí)候觸發(fā)的事件。 Resize事件事件2.2 窗體窗體一、什么是窗體(一、什么是窗體(Form)窗體是窗體是VB中的對(duì)象,具有自己的屬性、方法和事件。中的對(duì)象,具有自己的屬性、方法和事件。程序設(shè)計(jì)階段稱為程序設(shè)計(jì)階段稱為窗體窗體(Form),程序運(yùn)行階段稱
18、為),程序運(yùn)行階段稱為窗口窗口(Window)。)。窗口包括:系統(tǒng)菜單(單擊左上角圖標(biāo))、最大化、最窗口包括:系統(tǒng)菜單(單擊左上角圖標(biāo))、最大化、最小化及關(guān)閉按鈕。小化及關(guān)閉按鈕。畫布(畫布(Canvas) 工作臺(tái)(工作臺(tái)(Workbench)是應(yīng)用程序與外界交互的是應(yīng)用程序與外界交互的界面界面每個(gè)窗體對(duì)應(yīng)一個(gè)窗口。每個(gè)窗體對(duì)應(yīng)一個(gè)窗口。Demo窗體對(duì)象是窗體對(duì)象是 Visual Basic 應(yīng)用程序的基本構(gòu)造模塊,是應(yīng)用程序的基本構(gòu)造模塊,是運(yùn)行應(yīng)用程序時(shí),與用戶交互操作的實(shí)際窗口。運(yùn)行應(yīng)用程序時(shí),與用戶交互操作的實(shí)際窗口。窗體和控件有自己的屬性、事件和方法,可以控制窗體窗體和控件有自己的屬
19、性、事件和方法,可以控制窗體的外觀和行為。的外觀和行為。Demo(2_1) 屬性屬性:指對(duì)象(窗體,控件)的大小、顏色、方位等:指對(duì)象(窗體,控件)的大小、顏色、方位等一系列外觀或內(nèi)部構(gòu)造的特征。一系列外觀或內(nèi)部構(gòu)造的特征。 方法方法:指對(duì)象(窗體,控件)所進(jìn)行的操作。:指對(duì)象(窗體,控件)所進(jìn)行的操作。 事件事件:指對(duì)象(窗體,控件)對(duì)外部條件的響應(yīng)。:指對(duì)象(窗體,控件)對(duì)外部條件的響應(yīng)。 設(shè)計(jì)窗體的第一步是設(shè)置它的屬性。這可以在設(shè)計(jì)設(shè)計(jì)窗體的第一步是設(shè)置它的屬性。這可以在設(shè)計(jì)時(shí)在時(shí)在“屬性屬性”窗口中完成,或者運(yùn)行時(shí)由代碼來實(shí)現(xiàn)。窗口中完成,或者運(yùn)行時(shí)由代碼來實(shí)現(xiàn)。注意(注意(Atten
20、tion) 設(shè)計(jì)時(shí)設(shè)計(jì)時(shí),即在,即在 Visual Basic 環(huán)境中創(chuàng)建應(yīng)用程序環(huán)境中創(chuàng)建應(yīng)用程序的任何時(shí)刻。此時(shí),可以操作窗體和控件,設(shè)置它們的的任何時(shí)刻。此時(shí),可以操作窗體和控件,設(shè)置它們的屬性,對(duì)它們的事件進(jìn)行編程。屬性,對(duì)它們的事件進(jìn)行編程。 運(yùn)行時(shí)運(yùn)行時(shí)是實(shí)際運(yùn)行應(yīng)用程序,并與應(yīng)用程序進(jìn)行交是實(shí)際運(yùn)行應(yīng)用程序,并與應(yīng)用程序進(jìn)行交互的時(shí)間?;サ臅r(shí)間。窗體的許多屬性會(huì)影響窗體的外觀。窗體的許多屬性會(huì)影響窗體的外觀。 Caption 屬性決定窗體標(biāo)題欄中顯示的文本。屬性決定窗體標(biāo)題欄中顯示的文本。 Icon屬性設(shè)置在窗體最小化時(shí)顯示的圖標(biāo)。屬性設(shè)置在窗體最小化時(shí)顯示的圖標(biāo)。 MaxBut
21、ton 和和 MinButton 屬性決定窗體是否能最屬性決定窗體是否能最大化或最小化。大化或最小化。 BorderStyle 屬性,可以控制窗體如何調(diào)整大小。屬性,可以控制窗體如何調(diào)整大小。二、設(shè)置窗體屬性二、設(shè)置窗體屬性Height 和和 Width 屬性決定窗體的初始大??;屬性決定窗體的初始大??;Left 和和 Top 屬性根據(jù)屏幕的左上角確定窗體的位置。屬性根據(jù)屏幕的左上角確定窗體的位置。WindowState 屬性可以把窗體設(shè)成在啟動(dòng)時(shí)最大化、屬性可以把窗體設(shè)成在啟動(dòng)時(shí)最大化、最小化或正常大小。最小化或正常大小。Name 屬性設(shè)置窗體的名稱,在代碼中用這個(gè)名稱引用屬性設(shè)置窗體的名稱,
22、在代碼中用這個(gè)名稱引用該窗體。首次在工程中添加窗體時(shí),該窗體的名稱被缺該窗體。首次在工程中添加窗體時(shí),該窗體的名稱被缺省為省為 Form1;添加第二個(gè)窗體,其名稱被缺省為;添加第二個(gè)窗體,其名稱被缺省為 Form2,依次類推。最好給,依次類推。最好給 Name 屬性設(shè)置一個(gè)有實(shí)屬性設(shè)置一個(gè)有實(shí)際意義的名稱,如給一個(gè)條目窗體命名為際意義的名稱,如給一個(gè)條目窗體命名為 “frmEntry”(匈牙利命名規(guī)則匈牙利命名規(guī)則)。)。對(duì)象對(duì)象前綴前綴確認(rèn)框(確認(rèn)框(Check Box)chk組合框(組合框(Combo Box)cbo命令鈕(命令鈕(Command Button)cmd數(shù)據(jù)庫控件(數(shù)據(jù)庫控件
23、(Data Control) dat目錄列表框(目錄列表框(Directory List Box)dir驅(qū)動(dòng)器列表框(驅(qū)動(dòng)器列表框(Drive List Box)drv文件列表框(文件列表框(FileList Box) fil窗體(窗體(Form) frm框架(框架(Frame)fra水平滾動(dòng)水平滾動(dòng)Horizontal Scroll Barhsb對(duì)象對(duì)象前綴前綴圖形(圖形(Image)img標(biāo)簽(標(biāo)簽(Label)lbl線(線(Line) lin列表框(列表框(List Box) lst菜單(菜單(Menu)mnu單選按鈕(單選按鈕(Option Button) opt圖形框(圖形框(Pic
24、ture Box) pic幾何圖形(幾何圖形(Shape) shp文本框(文本框(Text Box) txt垂直滾動(dòng)條垂直滾動(dòng)條Vertical Scroll Barvsb控件命名推薦方法控件命名推薦方法控件的控件的name可命名為:對(duì)象前綴自定義名可命名為:對(duì)象前綴自定義名,如:如:cmdExit三、窗體的屬性三、窗體的屬性窗體的屬性決定了窗體的窗體的屬性決定了窗體的外觀外觀(Appearance)和)和操操作作(Operation)。)。屬性設(shè)置方法:屬性設(shè)置方法: 1、通過、通過屬性窗口屬性窗口設(shè)置;設(shè)置; 2、事件執(zhí)行過程中通過、事件執(zhí)行過程中通過代碼代碼設(shè)置。設(shè)置。設(shè)計(jì)階段所設(shè)置的屬
25、性稱為設(shè)計(jì)階段所設(shè)置的屬性稱為“只讀屬性只讀屬性”AutoRedraw 屬性屬性 返回或設(shè)置從圖形方法到持久圖形的輸出。返回或設(shè)置從圖形方法到持久圖形的輸出。語法語法 object.AutoRedraw = Boolean部分部分 描述描述Object 對(duì)象表達(dá)式對(duì)象表達(dá)式,其值是,其值是“應(yīng)用于應(yīng)用于”列表中列表中的的 一個(gè)對(duì)象。一個(gè)對(duì)象。Boolean 布爾表達(dá)式布爾表達(dá)式,指定如何重繪對(duì)象。,指定如何重繪對(duì)象。AutoRedraw 屬性語法包含下面部分:屬性語法包含下面部分:(缺省值)使對(duì)象的自動(dòng)重繪無效,(缺省值)使對(duì)象的自動(dòng)重繪無效,且將圖形或文本只寫到屏幕上。且將圖形或文本只寫到屏
26、幕上。 當(dāng)當(dāng)需要重畫該對(duì)象時(shí),需要重畫該對(duì)象時(shí),Visual Basic 會(huì)激活對(duì)象繪制事件。會(huì)激活對(duì)象繪制事件。 False 設(shè)置值設(shè)置值Boolean 的設(shè)置值如下:的設(shè)置值如下:Form 對(duì)象或?qū)ο蠡?PictureBox 控件的自控件的自動(dòng)重繪有效。圖形和文本輸出到屏幕,動(dòng)重繪有效。圖形和文本輸出到屏幕,并存儲(chǔ)在內(nèi)存的圖象中。該對(duì)象不接并存儲(chǔ)在內(nèi)存的圖象中。該對(duì)象不接受繪制事件,必要時(shí),用存儲(chǔ)在內(nèi)存受繪制事件,必要時(shí),用存儲(chǔ)在內(nèi)存中的圖象進(jìn)行重繪。中的圖象進(jìn)行重繪。 True Refresh示例(示例(Example)該窗體有一個(gè)名叫該窗體有一個(gè)名叫 Picture1 的的 Pictu
27、reBox 控件??丶?。改變紅體字,調(diào)整窗體大小時(shí),觀察圖形變化。改變紅體字,調(diào)整窗體大小時(shí),觀察圖形變化。 Demo(2_2)Private Sub Form_Load() Picture1.ScaleHeight = 100 設(shè)置比例為設(shè)置比例為 100. Picture1.ScaleWidth = 100 Picture1.ForeColor = 0 設(shè)置設(shè)置 ForeColor. Picture1.FillColor = QBColor(9) 設(shè)置設(shè)置 FillColor. Picture1.FillStyle = 0 設(shè)置設(shè)置 FillStyle. Picture1.Circle (
28、50, 50), 30 畫一個(gè)圓畫一個(gè)圓.End SubPrivate Sub Picture1_Click() Dim I Declare variable. Picture1.AutoRedraw = True Picture1.ForeColor = RGB(Rnd * 255, 0, 0) 選擇隨機(jī)顏色選擇隨機(jī)顏色. For I = 5 To 95 Step 10 畫線畫線. Picture1.Line (I, 0)-(I, 100) Next Picture1.Circle (50, 50), 30 Picture1.AutoRedraw = False End SubBackCol
29、or、ForeColor 屬性屬性 BackColor返回或設(shè)置對(duì)象的背景顏色。返回或設(shè)置對(duì)象的背景顏色。ForeColor設(shè)置對(duì)象里顯示圖片和文本的前景顏色。設(shè)置對(duì)象里顯示圖片和文本的前景顏色。 語法語法 object.BackColor = colorobject.ForeColor = color部分部分 描述描述Object 對(duì)象表達(dá)式,其值是對(duì)象表達(dá)式,其值是“應(yīng)用于應(yīng)用于”列表中一個(gè)對(duì)列表中一個(gè)對(duì)象。象。Color 值或常數(shù),確定對(duì)象前景或背景的顏色。值或常數(shù),確定對(duì)象前景或背景的顏色。BackColor 和和 ForeColor 屬性語法包含下面部分:屬性語法包含下面部分:設(shè)置值
30、設(shè)置值Visual Basic 用用 Microsoft Windows 運(yùn)行環(huán)境的紅運(yùn)行環(huán)境的紅-綠綠-藍(lán)藍(lán) (RGB)顏色方案。)顏色方案。color 的設(shè)置值如下:的設(shè)置值如下:設(shè)置值設(shè)置值 描述描述使用調(diào)色板或在代碼中使用使用調(diào)色板或在代碼中使用 RGB 或或 QBColor函數(shù)指定的函數(shù)指定的顏色。顏色。標(biāo)準(zhǔn)標(biāo)準(zhǔn) RGB 顏色顏色由對(duì)象瀏覽器中的由對(duì)象瀏覽器中的 Visual Basic (VB) 對(duì)象庫所列的系統(tǒng)顏色常數(shù)指對(duì)象庫所列的系統(tǒng)顏色常數(shù)指定的顏色。定的顏色。Windows 運(yùn)行環(huán)境替運(yùn)行環(huán)境替換使用用戶在控制面板設(shè)置值中的換使用用戶在控制面板設(shè)置值中的選擇。選擇。對(duì)所有的
31、窗體和控件,在對(duì)所有的窗體和控件,在設(shè)計(jì)時(shí)設(shè)計(jì)時(shí)的缺省設(shè)置值如下:的缺省設(shè)置值如下: BackColor設(shè)置為由設(shè)置為由常數(shù)常數(shù) vbWindowBackground 定義的系統(tǒng)缺省顏色。定義的系統(tǒng)缺省顏色。ForeColor設(shè)置為由設(shè)置為由常數(shù)常數(shù) vbWindowText 定義的定義的系統(tǒng)缺省顏色。系統(tǒng)缺省顏色。系統(tǒng)缺省顏色系統(tǒng)缺省顏色 標(biāo)準(zhǔn)標(biāo)準(zhǔn)RGB 顏色的有效取值范圍是顏色的有效取值范圍是0到到16,777,215 (&HFFFFFF)。該范圍內(nèi)數(shù)的高字節(jié)為。該范圍內(nèi)數(shù)的高字節(jié)為 0;較低的;較低的 3 個(gè)字個(gè)字節(jié),從最低字節(jié)到最高字節(jié)依次決定紅、綠和藍(lán)的量。節(jié),從最低字節(jié)到最
32、高字節(jié)依次決定紅、綠和藍(lán)的量。紅、綠和藍(lán)的成分,分別由一個(gè)介于紅、綠和藍(lán)的成分,分別由一個(gè)介于0與與255(&HFF)之間之間的數(shù)來表示。如果最高字節(jié)不為的數(shù)來表示。如果最高字節(jié)不為 0,Visual Basic將使用將使用系統(tǒng)顏色。系統(tǒng)顏色。 可從屬性窗口更改可從屬性窗口更改BackColor、ForColor 屬性示例屬性示例 這個(gè)例子每秒鐘兩次隨機(jī)地重新設(shè)置窗體這個(gè)例子每秒鐘兩次隨機(jī)地重新設(shè)置窗體 (Form) 和和 PictureBox 控件的前景顏色和背景顏色。要嘗試這控件的前景顏色和背景顏色。要嘗試這個(gè)例子,請(qǐng)將代碼粘貼到包含個(gè)例子,請(qǐng)將代碼粘貼到包含PictureBox
33、控件和控件和 Timer 控件窗體的聲明部分,然后按控件窗體的聲明部分,然后按 F5 鍵。鍵。BackColor、ForColor 屬性示例屬性示例Private Sub Form_Load() Timer1.Interval = 500End SubPrivate Sub Timer1_Timer() BackColor = QBColor(Rnd * 15) Picture1.BackColor = QBColor(Rnd * 15) Picture1.ForeColor = QBColor(Rnd * 10)End Sub Demo(2_3)BorderStyle屬性屬性 返回或設(shè)置對(duì)象
34、的邊框樣式。對(duì)返回或設(shè)置對(duì)象的邊框樣式。對(duì) Form對(duì)象和對(duì)象和Textbox 控控件在件在運(yùn)行時(shí)運(yùn)行時(shí)是只讀的。是只讀的。語法語法 Demo(2_4)object.BorderStyle = valueBorderStyle 屬性語法有這些組成部分:屬性語法有這些組成部分:部分部分 描述描述Object 對(duì)象表達(dá)式,其值是對(duì)象表達(dá)式,其值是“應(yīng)用于應(yīng)用于”列表中列表中 的一個(gè)對(duì)象。的一個(gè)對(duì)象。Value 值或常數(shù),用于決定邊框樣式。值或常數(shù),用于決定邊框樣式。設(shè)置值設(shè)置值Form 對(duì)象的對(duì)象的 BorderStyle 屬性設(shè)置值如下:屬性設(shè)置值如下:常數(shù)常數(shù) 設(shè)置值設(shè)置值 描述描述BSNon
35、e 0 無(沒有邊框或與邊框相關(guān)的元素)。無(沒有邊框或與邊框相關(guān)的元素)。固定單邊框。可以包含控制菜單框,標(biāo)題欄,固定單邊框??梢园刂撇藛慰?,標(biāo)題欄,“最大化最大化”按鈕,和按鈕,和“最小化最小化”按鈕。只有按鈕。只有使用最大化和最小化按鈕才能改變大小。使用最大化和最小化按鈕才能改變大小。 (缺省值)可調(diào)整的邊框??梢允褂迷O(shè)置值(缺省值)可調(diào)整的邊框??梢允褂迷O(shè)置值1列出的任何可選邊框元素重新改變尺寸。列出的任何可選邊框元素重新改變尺寸。 固定對(duì)話框。可以包含控制菜單框和標(biāo)題欄,固定對(duì)話框??梢园刂撇藛慰蚝蜆?biāo)題欄,不能包含最大化和最小化按鈕,不能改變尺不能包含最大化和最小化按鈕,不能
36、改變尺寸。寸。 固定工具窗口。不能改變尺寸。顯示關(guān)閉按固定工具窗口。不能改變尺寸。顯示關(guān)閉按鈕并用縮小的字體顯示標(biāo)題欄。窗體在鈕并用縮小的字體顯示標(biāo)題欄。窗體在 Windows 95 的任務(wù)條中不顯示。的任務(wù)條中不顯示。 可變尺寸工具窗口??勺兇笮?。顯示關(guān)閉按可變尺寸工具窗口。可變大小。顯示關(guān)閉按鈕并用縮小的字體顯示標(biāo)題欄。窗體在鈕并用縮小的字體顯示標(biāo)題欄。窗體在 Windows 95 的任務(wù)條中不顯示。的任務(wù)條中不顯示。 FixedSingle 1Sizable 2FixedDouble 3FixedToolWindow 4SizableToolWindow 5Caption屬性屬性 窗體對(duì)
37、象窗體對(duì)象顯示在顯示在 Form 或或 MDIForm 對(duì)象對(duì)象標(biāo)題欄標(biāo)題欄中的中的文本。當(dāng)窗體為最小化時(shí),該文本被顯示在窗體文本。當(dāng)窗體為最小化時(shí),該文本被顯示在窗體圖標(biāo)圖標(biāo)的的下面。下面??丶?duì)象控件對(duì)象確定顯示在控件中還是附在控件之后的文本。確定顯示在控件中還是附在控件之后的文本。MenuLine 對(duì)象對(duì)象確定為確定為 Menu 控件還是為控件還是為 MenuItems 集合中的對(duì)象顯示的文本。集合中的對(duì)象顯示的文本。可通過窗口設(shè)置,也可以通過程序代碼設(shè)置??赏ㄟ^窗口設(shè)置,也可以通過程序代碼設(shè)置。語法語法 object.Caption = stringCaption 屬性的語法包含下面部
38、分:屬性的語法包含下面部分:部分部分 描述描述Object 對(duì)象表達(dá)式,其值是對(duì)象表達(dá)式,其值是“應(yīng)用于應(yīng)用于”列表中的一個(gè)列表中的一個(gè) 對(duì)象。如果對(duì)象。如果 object 被省略,那么與活動(dòng)窗體模塊被省略,那么與活動(dòng)窗體模塊 相聯(lián)系的窗體被認(rèn)為是相聯(lián)系的窗體被認(rèn)為是 object。String 字符串表達(dá)式,其值是被顯示為標(biāo)題的文本。字符串表達(dá)式,其值是被顯示為標(biāo)題的文本。當(dāng)創(chuàng)建一個(gè)新的對(duì)象時(shí),其缺省標(biāo)題為缺省的當(dāng)創(chuàng)建一個(gè)新的對(duì)象時(shí),其缺省標(biāo)題為缺省的 Name 屬性設(shè)置。該缺省標(biāo)題包括對(duì)象名和一個(gè)整數(shù),如屬性設(shè)置。該缺省標(biāo)題包括對(duì)象名和一個(gè)整數(shù),如 Command1 或或 Form1。為了
39、獲得一個(gè)描述更清楚的為了獲得一個(gè)描述更清楚的標(biāo)簽,應(yīng)對(duì)標(biāo)簽,應(yīng)對(duì) Caption 屬性進(jìn)行設(shè)置。屬性進(jìn)行設(shè)置。 Caption屬性示例屬性示例 用戶每次單擊按鈕將改變用戶每次單擊按鈕將改變 CommandButton 控件的控件的 Caption 屬性。要試用此例,先將下面的代碼粘貼到一屬性。要試用此例,先將下面的代碼粘貼到一個(gè)包含名為個(gè)包含名為Command1 的的 CommandButton 窗體的窗體的聲明部分,然后按下聲明部分,然后按下 F5 鍵并單擊按鈕。鍵并單擊按鈕。 Demo(2_5)Private Sub Command1_Click() 檢查標(biāo)題,然后改變它。檢查標(biāo)題,然后改
40、變它。 注釋(注釋(Annotation) If Command1.Caption = Clicked Then Command1.Caption = OK Else Command1.Caption = Clicked End IfEnd SubControlBox 屬性屬性 返回或設(shè)置一個(gè)值,指示在返回或設(shè)置一個(gè)值,指示在運(yùn)行時(shí)運(yùn)行時(shí)控制菜單框是否在窗控制菜單框是否在窗體中顯示。在運(yùn)行時(shí)為只讀。體中顯示。在運(yùn)行時(shí)為只讀。 語法語法 Object . ControlBoxobject 所在處表示對(duì)象表達(dá)式,其值是所在處表示對(duì)象表達(dá)式,其值是“應(yīng)用于應(yīng)用于”列表中的一個(gè)對(duì)象。列表中的一個(gè)對(duì)象。
41、ControlBox 屬性設(shè)置值如下:屬性設(shè)置值如下:設(shè)置值設(shè)置值 描述描述True (缺省值)顯示控制菜單框。(缺省值)顯示控制菜單框。False 刪除控制菜單框。刪除控制菜單框。為了顯示控制菜單框,還必須將窗體的為了顯示控制菜單框,還必須將窗體的 BorderStyle 屬性值設(shè)置為屬性值設(shè)置為 1(固定單邊框),(固定單邊框),2(可變尺寸)或(可變尺寸)或 3(固定對(duì)話框)。(固定對(duì)話框)。Enabled 屬性屬性返回或設(shè)置一個(gè)值,該值用來確定一個(gè)窗體或控件是返回或設(shè)置一個(gè)值,該值用來確定一個(gè)窗體或控件是否能夠?qū)τ脩舢a(chǎn)生的事件作出響應(yīng)。否能夠?qū)τ脩舢a(chǎn)生的事件作出響應(yīng)。 語法語法 Obj
42、ect . Enabled = BooleanEnabled 屬性屬性Enabled 屬性的語法包含下面部分:屬性的語法包含下面部分:部分部分 描述描述Object 對(duì)象表達(dá)式,其值是對(duì)象表達(dá)式,其值是“應(yīng)用于應(yīng)用于”列表中的一個(gè)列表中的一個(gè) 對(duì)象。如果對(duì)象。如果object 被省略,則與活動(dòng)窗體模塊被省略,則與活動(dòng)窗體模塊 相聯(lián)系的窗體被認(rèn)為是相聯(lián)系的窗體被認(rèn)為是object。Boolean 一個(gè)用來指定一個(gè)用來指定 object 是否能夠?qū)τ脩舢a(chǎn)生的是否能夠?qū)τ脩舢a(chǎn)生的 事件作出反應(yīng)的布爾表達(dá)式。事件作出反應(yīng)的布爾表達(dá)式。設(shè)置設(shè)置Boolean 的設(shè)置為:的設(shè)置為:設(shè)置描述設(shè)置描述True
43、(缺?。┰试S(缺?。┰试S object 對(duì)事件作出反應(yīng)。對(duì)事件作出反應(yīng)。False 阻止阻止 object 對(duì)事件作出反應(yīng)。對(duì)事件作出反應(yīng)。Enabled 屬性示屬性示例例該例子用該例子用TextBox 控件是否包含文本這一條件來控制控件是否包含文本這一條件來控制 CommandButton 控件的有效性。要試用此例,先將下控件的有效性。要試用此例,先將下面的代碼粘貼到帶有面的代碼粘貼到帶有CommandButton和和 TextBox 控件控件的一個(gè)窗體的聲明部分,然后按下的一個(gè)窗體的聲明部分,然后按下 F5 鍵并在文本框中鍵并在文本框中隨意輸入一些內(nèi)容。隨意輸入一些內(nèi)容。 Demo(2_6
44、) Enabled 屬性示屬性示例例Private Sub Form_Load() Text1.Text = 清除文本框的內(nèi)容。清除文本框的內(nèi)容。 Command1.Caption = Save 在按鈕上放置標(biāo)題。在按鈕上放置標(biāo)題。End SubPrivate Sub Text1_Change() If Text1.Text = Then 查看文本框是否為空。查看文本框是否為空。 Command1.Enabled = False 使按鈕無效。使按鈕無效。 Else Command1.Enabled = True 使按鈕有效。使按鈕有效。 End IfEnd Sub觀察文本框有、無內(nèi)容時(shí)的差異觀
45、察文本框有、無內(nèi)容時(shí)的差異設(shè)置字體特征設(shè)置字體特征 顯示文本(作為文本或標(biāo)題)的窗體、控件,以及支顯示文本(作為文本或標(biāo)題)的窗體、控件,以及支持持 Font 屬性的屬性的 Printer 對(duì)象,它們將確定文本的可視對(duì)象,它們將確定文本的可視特征,包括:特征,包括: 字體名(字樣)字體名(字樣) 字體大?。ㄗ煮w大小(用磅表示用磅表示) 特別特征(黑體、斜體、下劃線或刪除線)特別特征(黑體、斜體、下劃線或刪除線) 設(shè)置字體屬性設(shè)置字體屬性 在設(shè)計(jì)時(shí),通過雙擊在設(shè)計(jì)時(shí),通過雙擊“屬性屬性”窗口中的窗口中的“字體字體”,可以任意,可以任意設(shè)置字體屬性,然后在設(shè)置字體屬性,然后在“字體字體”對(duì)話框中可
46、進(jìn)行屬性的設(shè)定。對(duì)話框中可進(jìn)行屬性的設(shè)定。在運(yùn)行時(shí),通過設(shè)置各個(gè)窗體和控件的在運(yùn)行時(shí),通過設(shè)置各個(gè)窗體和控件的 Font 對(duì)象的屬性,對(duì)象的屬性,可以設(shè)定字體的特征。下表說明了可以設(shè)定字體的特征。下表說明了 Font 對(duì)象的一些屬性。對(duì)象的一些屬性。Font 示例示例改變文本框內(nèi)字體的大?。惶砑右粋€(gè)改變文本框內(nèi)字體的大?。惶砑右粋€(gè)CommandButton 和一個(gè)和一個(gè) TextBox。 Demo(2_7)Private Sub Command1_Click() Text1.Font.Name = Arial Text1.Font.Size = 20 Text1.Font.Bold = Tru
47、e Form1.Font.Size = 50 Print 2341234End Sub創(chuàng)建自己的字體類型創(chuàng)建自己的字體類型 可以使用可以使用 StdFont 類來創(chuàng)建自己的字體類型。類來創(chuàng)建自己的字體類型。 可以使用以下語法:可以使用以下語法: Dim MyFont As Font 但是,不能使用:但是,不能使用: Dim MyFont As New Font 相反,要?jiǎng)?chuàng)建自己的字體或圖片類型,使用下面的代碼:相反,要?jiǎng)?chuàng)建自己的字體或圖片類型,使用下面的代碼:Dim MyFont As New StdFont With MyFont .Bold = True .Name = Arial End
48、 With Set Text1.Font = MyFont 上個(gè)例子可以改成如下代碼:上個(gè)例子可以改成如下代碼:Private Sub Command1_Click()Dim MyFont As New StdFontWith MyFont .Bold = True .Name = Arial .Size = 50End WithSet Text1.Font = MyFontSet Form1.Font = MyFontPrint 2341234End SubHeight、Width 屬性屬性 返回或設(shè)置對(duì)象的維數(shù)、或返回或設(shè)置對(duì)象的維數(shù)、或 DataGrid 控件控件 Columns 對(duì)象的
49、寬度。對(duì)象的寬度。對(duì)于對(duì)于 Printer 和和 Screen 對(duì)象,在設(shè)計(jì)時(shí)不可用。對(duì)象,在設(shè)計(jì)時(shí)不可用。 語法語法object.Height = numberobject.Width = numberHeight 和和 Width 屬性語法包含下面部分:屬性語法包含下面部分:Height、Width 屬性示例屬性示例 這個(gè)例子在窗體被加載時(shí),將窗體的大小設(shè)置為屏幕大這個(gè)例子在窗體被加載時(shí),將窗體的大小設(shè)置為屏幕大小的小的75%并使窗體居中顯示。要嘗試這個(gè)例子,請(qǐng)將代并使窗體居中顯示。要嘗試這個(gè)例子,請(qǐng)將代碼粘貼到窗體的聲明部分。然后按碼粘貼到窗體的聲明部分。然后按 F5 鍵并單擊窗體。鍵并
50、單擊窗體。 Private Sub Form_Click() Width = Screen.Width * 0.75 設(shè)置窗體的寬度。設(shè)置窗體的寬度。 Height = Screen.Height * 0.75 設(shè)置窗體的高度。設(shè)置窗體的高度。 Left = (Screen.Width - Width) / 2 在水平方向上居中顯示。在水平方向上居中顯示。 Top = (Screen.Height - Height) / 2 在垂直方向上居中顯示。在垂直方向上居中顯示。End SubDemo(2_8)Visible 屬性屬性 返回或設(shè)置一指示對(duì)象為可見或隱藏的值。返回或設(shè)置一指示對(duì)象為可見或隱
51、藏的值。 語法語法 object.Visible = BooleanVisible 屬性語法包含下面部分:屬性語法包含下面部分:Boolean 的設(shè)置值為:的設(shè)置值為:注意(注意(Attention)(1)要在啟動(dòng)時(shí)隱藏一個(gè)對(duì)象,在)要在啟動(dòng)時(shí)隱藏一個(gè)對(duì)象,在設(shè)計(jì)時(shí)設(shè)計(jì)時(shí)將將 Visible 屬性屬性設(shè)置為設(shè)置為 False。在代碼中設(shè)置該屬性能夠在。在代碼中設(shè)置該屬性能夠在運(yùn)行時(shí)運(yùn)行時(shí)隱藏然隱藏然后又重新顯示控件以響應(yīng)某特別事件。后又重新顯示控件以響應(yīng)某特別事件。 (2)對(duì)窗體用)對(duì)窗體用 Show 或或 Hide 方法,和在代碼中將方法,和在代碼中將 Visible 屬性分別設(shè)置為屬性分別
52、設(shè)置為 True 或或 False 的效果是一樣的。的效果是一樣的。Private Sub Form_Load() Dim I 聲明變量。聲明變量。 FileCab(0).BorderStyle = 0 設(shè)置設(shè)置 BorderStyle。 FileCab(1).BorderStyle = 0 將圖標(biāo)加載到圖片框。將圖標(biāo)加載到圖片框。 FileCab(1).Picture = LoadPicture(“C:Apple.ico) FileCab(0).Picture = LoadPicture(“C:Java.ico) FileCab(1).Visible = False 設(shè)置為不可視。設(shè)置為不可
53、視。 FileCab(0).Visible = True 設(shè)置為可視。設(shè)置為可視。End SubPrivate Sub FileCab_Click(Index As Integer) Dim I 聲明變量。聲明變量。 For I = 0 To 1 切換兩張圖片的可視性。切換兩張圖片的可視性。 FileCab(I).Visible = Not FileCab(I).Visible Next IEnd Sub這個(gè)窗體包含兩個(gè)和圖標(biāo)大小相等的這個(gè)窗體包含兩個(gè)和圖標(biāo)大小相等的 PictureBox 控件??丶?。將兩將兩PictureBox 控件的控件的 Name 屬性設(shè)置為屬性設(shè)置為 FileCab
54、來創(chuàng)來創(chuàng)建數(shù)組,建數(shù)組, Demo(2_9)窗體事件和方法窗體事件和方法 窗體作為對(duì)象,能夠執(zhí)行方法并對(duì)事件作出響應(yīng)。窗體作為對(duì)象,能夠執(zhí)行方法并對(duì)事件作出響應(yīng)。 無論是因?yàn)橛脩艚换?,還是通過代碼調(diào)整窗體的大小,無論是因?yàn)橛脩艚换?,還是通過代碼調(diào)整窗體的大小,都會(huì)觸發(fā)一個(gè)都會(huì)觸發(fā)一個(gè) Resize 事件。當(dāng)窗體尺寸變化時(shí),允許事件。當(dāng)窗體尺寸變化時(shí),允許在窗體上進(jìn)行移動(dòng)控件或調(diào)整控件大小等操作。在窗體上進(jìn)行移動(dòng)控件或調(diào)整控件大小等操作。要使一個(gè)窗體可見,調(diào)用要使一個(gè)窗體可見,調(diào)用 Show 方法。方法。Private Sub Command1_Click() Form1.Hide Form2.
55、ShowEnd Sub Demo(2_10)窗體激活演示窗體激活演示每當(dāng)一個(gè)窗體變成活動(dòng)窗體時(shí),就會(huì)產(chǎn)生一個(gè)每當(dāng)一個(gè)窗體變成活動(dòng)窗體時(shí),就會(huì)產(chǎn)生一個(gè) Activate 事件;當(dāng)另一個(gè)窗體或應(yīng)用程序被激活時(shí),就會(huì)產(chǎn)生事件;當(dāng)另一個(gè)窗體或應(yīng)用程序被激活時(shí),就會(huì)產(chǎn)生 Deactivate 事件。這些事件對(duì)初始化或結(jié)束窗體行為十事件。這些事件對(duì)初始化或結(jié)束窗體行為十分方便。例如,在分方便。例如,在 Activate 事件中,可以編寫代碼突出事件中,可以編寫代碼突出顯示一個(gè)特定文本框中的文本;在顯示一個(gè)特定文本框中的文本;在 Deactivate 事件中,事件中,可以把更改保存到一個(gè)文件或數(shù)據(jù)庫中??梢?/p>
56、把更改保存到一個(gè)文件或數(shù)據(jù)庫中。除窗體設(shè)計(jì)原理以外,還需考慮應(yīng)用程序的開始與結(jié)除窗體設(shè)計(jì)原理以外,還需考慮應(yīng)用程序的開始與結(jié)束。有一些技巧用于決定應(yīng)用程序啟動(dòng)時(shí)的外觀。熟束。有一些技巧用于決定應(yīng)用程序啟動(dòng)時(shí)的外觀。熟悉應(yīng)用程序卸載時(shí)進(jìn)行的一些處理也很重要。悉應(yīng)用程序卸載時(shí)進(jìn)行的一些處理也很重要。設(shè)置啟動(dòng)窗體設(shè)置啟動(dòng)窗體 在缺省情況下,應(yīng)用程序中的第一個(gè)窗體被指定為啟在缺省情況下,應(yīng)用程序中的第一個(gè)窗體被指定為啟動(dòng)窗體。應(yīng)用程序開始運(yùn)行時(shí),此窗體就被顯示出來動(dòng)窗體。應(yīng)用程序開始運(yùn)行時(shí),此窗體就被顯示出來(因而最先執(zhí)行的代碼是該窗體的(因而最先執(zhí)行的代碼是該窗體的 Form_Initialize
57、事事件中的代碼)。如果想在應(yīng)用程序啟動(dòng)時(shí)顯示別的窗件中的代碼)。如果想在應(yīng)用程序啟動(dòng)時(shí)顯示別的窗體,那么就得改變啟動(dòng)窗體。體,那么就得改變啟動(dòng)窗體。 要改變啟動(dòng)窗體,請(qǐng)按照以下步驟執(zhí)行:要改變啟動(dòng)窗體,請(qǐng)按照以下步驟執(zhí)行:(1)從)從“工程工程”菜單中,選取菜單中,選取“工程屬性工程屬性”。(2)選取)選取“一般一般”或或“通用通用”。(3)“啟動(dòng)對(duì)象啟動(dòng)對(duì)象”ListBox 中,選取要作為新啟動(dòng)窗體中,選取要作為新啟動(dòng)窗體的窗體。的窗體。(4)單擊)單擊“確定確定”。結(jié)束應(yīng)用程序結(jié)束應(yīng)用程序 當(dāng)所有窗體都已關(guān)閉并且沒有代碼正在執(zhí)行時(shí),事件驅(qū)當(dāng)所有窗體都已關(guān)閉并且沒有代碼正在執(zhí)行時(shí),事件驅(qū)動(dòng)的
58、應(yīng)用程序就停止運(yùn)行。如果最后一個(gè)可見窗體關(guān)閉動(dòng)的應(yīng)用程序就停止運(yùn)行。如果最后一個(gè)可見窗體關(guān)閉時(shí)仍有隱藏窗體存在,那么,應(yīng)用程序表現(xiàn)為已經(jīng)結(jié)束時(shí)仍有隱藏窗體存在,那么,應(yīng)用程序表現(xiàn)為已經(jīng)結(jié)束了(因?yàn)闆]有可見的窗體),可實(shí)際上應(yīng)用程序仍在繼了(因?yàn)闆]有可見的窗體),可實(shí)際上應(yīng)用程序仍在繼續(xù)運(yùn)行,直至所有隱藏窗體都關(guān)閉為止。續(xù)運(yùn)行,直至所有隱藏窗體都關(guān)閉為止。 避免出現(xiàn)關(guān)閉應(yīng)用程序時(shí)的這類問題,最好的辦法是避免出現(xiàn)關(guān)閉應(yīng)用程序時(shí)的這類問題,最好的辦法是確保所有的窗體都已卸載。確保所有的窗體都已卸載。 如果應(yīng)用程序只有一個(gè)窗體,則如果應(yīng)用程序只有一個(gè)窗體,則 Click 事件過程可簡(jiǎn)事件過程可簡(jiǎn)單為:
59、單為: Demo(2_10)Private Sub Command1_Click() Unload MeEnd Sub如果應(yīng)用程序使用多窗體,通過把代碼放入主窗體的如果應(yīng)用程序使用多窗體,通過把代碼放入主窗體的 Unload 事件過程可以卸載這些窗體??梢允褂檬录^程可以卸載這些窗體??梢允褂?Forms 集合確保找到并關(guān)閉所有窗體。下列代碼就是集合確保找到并關(guān)閉所有窗體。下列代碼就是使用窗體集合來卸載所有窗體的:使用窗體集合來卸載所有窗體的:Private Sub Command1_Click()Dim MyForm As FormFor Each MyForm In Forms Unloa
60、d MyFormNextEnd Sub窗體事件窗體事件Click 事件事件此事件是在一個(gè)對(duì)象上按下然后釋放一個(gè)鼠標(biāo)按鈕時(shí)發(fā)此事件是在一個(gè)對(duì)象上按下然后釋放一個(gè)鼠標(biāo)按鈕時(shí)發(fā)生。它也會(huì)發(fā)生在一個(gè)控件的值改變時(shí)。生。它也會(huì)發(fā)生在一個(gè)控件的值改變時(shí)。對(duì)一個(gè)對(duì)一個(gè) Form 對(duì)象來說,該事件是在單擊一個(gè)空白區(qū)或?qū)ο髞碚f,該事件是在單擊一個(gè)空白區(qū)或一個(gè)無效控件時(shí)發(fā)生。一個(gè)無效控件時(shí)發(fā)生。語法語法Private Sub Form_Click( )Private Sub object_Click(index As Integer)Click 事件的語法包括下列部分:事件的語法包括下列部分:部分部分 描述描述Object 一個(gè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)技術(shù)在政策評(píng)估中的應(yīng)用潛能試題及答案
- 化妝師考試試題、答案
- 社會(huì)公正與經(jīng)濟(jì)政策的關(guān)系試題及答案
- 流動(dòng)機(jī)械基礎(chǔ)試題及答案
- 軟件設(shè)計(jì)趨勢(shì)與試題及答案的變化
- 軟件設(shè)計(jì)師考試優(yōu)劣勢(shì)分析試題及答案
- 網(wǎng)絡(luò)信息安全等級(jí)測(cè)評(píng)試題及答案
- 如何通過數(shù)字技術(shù)提升政策實(shí)施效率試題及答案
- 公共政策中的性別視角試題及答案
- 軟件項(xiàng)目管理中的技術(shù)應(yīng)用探討與試題答案
- GB 5009.96-2016食品安全國(guó)家標(biāo)準(zhǔn)食品中赭曲霉毒素A的測(cè)定
- 通用綠色簡(jiǎn)約小清新PPT模板
- 排序算法及其算法分析課件
- 吸煙對(duì)人體危害和戒煙
- 子宮內(nèi)膜增生課件
- 建筑施工安全技術(shù)統(tǒng)一規(guī)范
- 天津市新版就業(yè)、勞動(dòng)合同登記名冊(cè)
- 建設(shè)工程施工安全技術(shù)操作規(guī)程完整
- 送醫(yī)護(hù)人員錦旗用語16字
- 裝配作業(yè)指導(dǎo)書
- 學(xué)校內(nèi)控制度及手冊(cè)
評(píng)論
0/150
提交評(píng)論