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