屬性、方法和事件概述
Visual Basic 的窗體和控件是具有自己的屬性、方法和事件的對(duì)象??梢园褜傩钥醋饕粋€(gè)對(duì)象的性質(zhì),把方法看作對(duì)象的動(dòng)作,把事件看作對(duì)象的響應(yīng)。日常生活中的對(duì)象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些性質(zhì),如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)(充氣的或未充氣的)或不可見(jiàn)的性質(zhì),如它的壽命。通過(guò)定義,所有氣球都具有這些屬性;這些屬性也會(huì)因氣球的不同而不同。
氣球還具有本身所固有的方法和動(dòng)作。如:充氣方法(用氦氣充滿氣球的動(dòng)作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這些能力。
氣球還有預(yù)定義的對(duì)某些外部事件的響應(yīng)。例如,氣球?qū)Υ唐扑氖录憫?yīng)是放氣,對(duì)放手事件的響應(yīng)是升空。
如果能對(duì)氣球編程的話,Visual Basic 代碼將如下所示。其作用是設(shè)置氣球的屬性:
Balloon.Color = Red
Balloon.Diameter = 10
Balloon.Inflated = True
注意代碼的語(yǔ)法,首先是對(duì)象 (Balloon),接著是屬性 (Color),然后是賦值(Red)。重復(fù)這條語(yǔ)句,但是,換一個(gè)不同的值,就可以改變氣球的顏色。屬性也可以在程序設(shè)計(jì)階段在“屬性”窗口中設(shè)置。
調(diào)用氣球的方法是這樣的:
Balloon.Inflate
Balloon.Deflate
Balloon.Rise 5
它的語(yǔ)法與屬性的語(yǔ)法相似,對(duì)象(一個(gè)名詞)后面緊跟著方法(一個(gè)動(dòng)詞)。在第三個(gè)例子中有一個(gè)附加項(xiàng),稱為一個(gè)參數(shù),表示氣球上升的高度。一些方法有一個(gè)或多個(gè)參數(shù),它們對(duì)執(zhí)行的動(dòng)作做進(jìn)一步的描述。
氣球?qū)σ粋€(gè)事件的響應(yīng)如下所示:
Sub Balloon_Puncture()
Balloon.Deflate
Balloon.MakeNoise "Bang"
Balloon.Inflated = False
Balloon.Diameter = 1
End Sub
本例中代碼描述了當(dāng)刺穿事件發(fā)生時(shí)氣球的行為:調(diào)用 Deflate 方法,然后以 "Bang"(發(fā)出的聲響)為參數(shù)調(diào)用 MakeNoise 方法。因?yàn)闅馇蛞巡辉偈浅錃鉅顟B(tài),所以把 Inflated 屬性置為 False,并給 Diameter 屬性設(shè)置一個(gè)新值。
實(shí)際上對(duì)氣球不能編程,但是,可以對(duì) Visual Basic 的窗體或控件進(jìn)行編程。作為程序員,由您作主。您決定應(yīng)更改哪些屬性,調(diào)用哪些方法,對(duì)哪些事件作出響應(yīng),從而得到希望的外觀和行為。
設(shè)計(jì)窗體
窗體對(duì)象是 Visual Basic 應(yīng)用程序的基本構(gòu)造模塊,是運(yùn)行應(yīng)用程序時(shí)與用戶交互操作的實(shí)際窗口。窗體有自己的屬性、事件和方法用于控制其外觀和行為。
設(shè)計(jì)窗體的第一步是設(shè)置它的屬性。這可以在設(shè)計(jì)時(shí)在“屬性”窗口中完成,或者運(yùn)行時(shí)由代碼來(lái)實(shí)現(xiàn)。
注意 設(shè)計(jì)時(shí),即在 Visual Basic 環(huán)境中創(chuàng)建應(yīng)用程序的任何時(shí)刻,此時(shí)你可以操作窗體和控件,設(shè)置它們的屬性,對(duì)它們的事件編程。運(yùn)行時(shí)是指實(shí)際運(yùn)行應(yīng)用程序并與應(yīng)用程序進(jìn)行交互的時(shí)間。
設(shè)置窗體屬性
窗體的許多屬性會(huì)影響窗體的外觀。Caption 屬性決定窗體標(biāo)題欄中顯示的文本;圖標(biāo)屬性設(shè)置在窗體最小化時(shí)顯示的圖標(biāo)。MaxButton 和 MinButton屬性決定窗體是否能化或最小化。通過(guò)改變 BorderStyle 屬性,可以控制窗體如何調(diào)整大小。
Height 和 Width 屬性決定的窗體初始大小;Left 和 Top 屬性根據(jù)屏幕的左上角確定窗體的位置。WindowState 屬性可以把窗體設(shè)成在啟動(dòng)時(shí)化、最小化或正常大小。
Name 屬性設(shè)置窗體的名稱,在代碼中用這個(gè)名稱引用該窗體。首次在工
程中添加窗體時(shí),該窗體的名稱被缺省為 Form1;添加第二個(gè)窗體,其名稱被缺省為 Form2,以此類推。給 Name 屬性設(shè)置一個(gè)有實(shí)際意義的名稱,如給一個(gè)條目窗體命名為 "frmEntry"。
熟悉這些窗體屬性,的辦法是實(shí)踐。在“屬性”窗口(圖 3.3)中更改窗體的一些屬性,然后運(yùn)行該應(yīng)用程序并觀察修改的效果。如果想詳細(xì)了解每個(gè)屬性,可以選擇該屬性并按 F1 鍵查看聯(lián)機(jī)幫助。
窗體事件和方法
窗體作為對(duì)象,能夠執(zhí)行方法并對(duì)事件作出響應(yīng)。
無(wú)論是因?yàn)橛脩艚换?,還是通過(guò)代碼調(diào)整窗體的大小,都會(huì)觸發(fā)一個(gè) Resize事件。當(dāng)窗體尺寸變化時(shí),允許您在窗體上進(jìn)行移動(dòng)控件或調(diào)整控件大小等操作。
每當(dāng)一個(gè)窗體變成活動(dòng)窗體時(shí),就會(huì)產(chǎn)生一個(gè) Activate 事件;當(dāng)另一個(gè)窗體或應(yīng)用程序被激活時(shí),就會(huì)產(chǎn)生 Deactivate 事件。這些事件對(duì)初始化或結(jié)束窗體行為十分方便。例如,在 Activate 事件中,可以編寫代碼突出顯示一個(gè)特定文本框中的文本;在 Deactivate 事件中,可以把更改保存到一個(gè)文件或數(shù)據(jù)庫(kù)中。
要使一個(gè)窗體可見(jiàn),可調(diào)用 Show 方法:
Form2.Show
調(diào)用 Show 方法與設(shè)置窗體 Visible 屬性為 True 具有相同的效果。
窗體的許多方法都調(diào)用文本或圖形。Print、Line、Circle 和 Refresh 方法可
用于直接在窗體表面上寫和畫。這些方法和更多的方法將在第十二章“使用文本和圖形”中詳細(xì)討論。
Visual Basic 的窗體和控件是具有自己的屬性、方法和事件的對(duì)象??梢园褜傩钥醋饕粋€(gè)對(duì)象的性質(zhì),把方法看作對(duì)象的動(dòng)作,把事件看作對(duì)象的響應(yīng)。日常生活中的對(duì)象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些性質(zhì),如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)(充氣的或未充氣的)或不可見(jiàn)的性質(zhì),如它的壽命。通過(guò)定義,所有氣球都具有這些屬性;這些屬性也會(huì)因氣球的不同而不同。
氣球還具有本身所固有的方法和動(dòng)作。如:充氣方法(用氦氣充滿氣球的動(dòng)作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這些能力。
氣球還有預(yù)定義的對(duì)某些外部事件的響應(yīng)。例如,氣球?qū)Υ唐扑氖录憫?yīng)是放氣,對(duì)放手事件的響應(yīng)是升空。
如果能對(duì)氣球編程的話,Visual Basic 代碼將如下所示。其作用是設(shè)置氣球的屬性:
Balloon.Color = Red
Balloon.Diameter = 10
Balloon.Inflated = True
注意代碼的語(yǔ)法,首先是對(duì)象 (Balloon),接著是屬性 (Color),然后是賦值(Red)。重復(fù)這條語(yǔ)句,但是,換一個(gè)不同的值,就可以改變氣球的顏色。屬性也可以在程序設(shè)計(jì)階段在“屬性”窗口中設(shè)置。
調(diào)用氣球的方法是這樣的:
Balloon.Inflate
Balloon.Deflate
Balloon.Rise 5
它的語(yǔ)法與屬性的語(yǔ)法相似,對(duì)象(一個(gè)名詞)后面緊跟著方法(一個(gè)動(dòng)詞)。在第三個(gè)例子中有一個(gè)附加項(xiàng),稱為一個(gè)參數(shù),表示氣球上升的高度。一些方法有一個(gè)或多個(gè)參數(shù),它們對(duì)執(zhí)行的動(dòng)作做進(jìn)一步的描述。
氣球?qū)σ粋€(gè)事件的響應(yīng)如下所示:
Sub Balloon_Puncture()
Balloon.Deflate
Balloon.MakeNoise "Bang"
Balloon.Inflated = False
Balloon.Diameter = 1
End Sub
本例中代碼描述了當(dāng)刺穿事件發(fā)生時(shí)氣球的行為:調(diào)用 Deflate 方法,然后以 "Bang"(發(fā)出的聲響)為參數(shù)調(diào)用 MakeNoise 方法。因?yàn)闅馇蛞巡辉偈浅錃鉅顟B(tài),所以把 Inflated 屬性置為 False,并給 Diameter 屬性設(shè)置一個(gè)新值。
實(shí)際上對(duì)氣球不能編程,但是,可以對(duì) Visual Basic 的窗體或控件進(jìn)行編程。作為程序員,由您作主。您決定應(yīng)更改哪些屬性,調(diào)用哪些方法,對(duì)哪些事件作出響應(yīng),從而得到希望的外觀和行為。
設(shè)計(jì)窗體
窗體對(duì)象是 Visual Basic 應(yīng)用程序的基本構(gòu)造模塊,是運(yùn)行應(yīng)用程序時(shí)與用戶交互操作的實(shí)際窗口。窗體有自己的屬性、事件和方法用于控制其外觀和行為。
設(shè)計(jì)窗體的第一步是設(shè)置它的屬性。這可以在設(shè)計(jì)時(shí)在“屬性”窗口中完成,或者運(yùn)行時(shí)由代碼來(lái)實(shí)現(xiàn)。
注意 設(shè)計(jì)時(shí),即在 Visual Basic 環(huán)境中創(chuàng)建應(yīng)用程序的任何時(shí)刻,此時(shí)你可以操作窗體和控件,設(shè)置它們的屬性,對(duì)它們的事件編程。運(yùn)行時(shí)是指實(shí)際運(yùn)行應(yīng)用程序并與應(yīng)用程序進(jìn)行交互的時(shí)間。
設(shè)置窗體屬性
窗體的許多屬性會(huì)影響窗體的外觀。Caption 屬性決定窗體標(biāo)題欄中顯示的文本;圖標(biāo)屬性設(shè)置在窗體最小化時(shí)顯示的圖標(biāo)。MaxButton 和 MinButton屬性決定窗體是否能化或最小化。通過(guò)改變 BorderStyle 屬性,可以控制窗體如何調(diào)整大小。
Height 和 Width 屬性決定的窗體初始大小;Left 和 Top 屬性根據(jù)屏幕的左上角確定窗體的位置。WindowState 屬性可以把窗體設(shè)成在啟動(dòng)時(shí)化、最小化或正常大小。
Name 屬性設(shè)置窗體的名稱,在代碼中用這個(gè)名稱引用該窗體。首次在工
程中添加窗體時(shí),該窗體的名稱被缺省為 Form1;添加第二個(gè)窗體,其名稱被缺省為 Form2,以此類推。給 Name 屬性設(shè)置一個(gè)有實(shí)際意義的名稱,如給一個(gè)條目窗體命名為 "frmEntry"。
熟悉這些窗體屬性,的辦法是實(shí)踐。在“屬性”窗口(圖 3.3)中更改窗體的一些屬性,然后運(yùn)行該應(yīng)用程序并觀察修改的效果。如果想詳細(xì)了解每個(gè)屬性,可以選擇該屬性并按 F1 鍵查看聯(lián)機(jī)幫助。
窗體事件和方法
窗體作為對(duì)象,能夠執(zhí)行方法并對(duì)事件作出響應(yīng)。
無(wú)論是因?yàn)橛脩艚换?,還是通過(guò)代碼調(diào)整窗體的大小,都會(huì)觸發(fā)一個(gè) Resize事件。當(dāng)窗體尺寸變化時(shí),允許您在窗體上進(jìn)行移動(dòng)控件或調(diào)整控件大小等操作。
每當(dāng)一個(gè)窗體變成活動(dòng)窗體時(shí),就會(huì)產(chǎn)生一個(gè) Activate 事件;當(dāng)另一個(gè)窗體或應(yīng)用程序被激活時(shí),就會(huì)產(chǎn)生 Deactivate 事件。這些事件對(duì)初始化或結(jié)束窗體行為十分方便。例如,在 Activate 事件中,可以編寫代碼突出顯示一個(gè)特定文本框中的文本;在 Deactivate 事件中,可以把更改保存到一個(gè)文件或數(shù)據(jù)庫(kù)中。
要使一個(gè)窗體可見(jiàn),可調(diào)用 Show 方法:
Form2.Show
調(diào)用 Show 方法與設(shè)置窗體 Visible 屬性為 True 具有相同的效果。
窗體的許多方法都調(diào)用文本或圖形。Print、Line、Circle 和 Refresh 方法可
用于直接在窗體表面上寫和畫。這些方法和更多的方法將在第十二章“使用文本和圖形”中詳細(xì)討論。