VisualBasic屬性、方法和事件一

字號:

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