屬性、方法和事件概述
VisualBasic的窗體和控制項是具有自己的屬性、方法和事件的物件。可以把屬性看成一個物件的性質,把方法看成一個物件的動作,把事件看成一個物件的回應。日常生活中的對象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些性質,如它的直徑和顏色。其它一些屬性描述氣球的狀態(充氣的或未充氣的)或不可見的性質,如它的壽命。透過定義,所有氣球都具有這些屬性;這些屬性也會因氣球的不同而有所不同。
氣球也具有本身所固有的方法和動作。如:充氣方法(用氦氣充滿氣球的動作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這些能力。
氣球還有預先定義的對某些外部事件的反應。例如,氣球對刺穿它的事件回應是放氣,對放手事件的回應是升空。
如果能對氣球編程的話,VisualBasic程式碼將如下所示。其作用是設定氣球的屬性:
Balloon.Color=Red
Balloon.Diameter=10
Balloon.Inflated=True
注意程式碼的語法,首先是物件(Balloon),接著是屬性(Color),然後是賦值(Red)。重複這條語句,但是,換一個不同的值,就可以改變氣球的顏色。屬性也可以在程式設計階段在「屬性」視窗中設定。
調用氣球的方法是這樣的:
Balloon.Inflate
Balloon.Deflate
Balloon.Rise5
它的語法與屬性的語法相似,對象(一個名詞)後面緊跟著方法(一個動詞)。在第三個例子中有一個附加項,稱為一個參數,表示氣球上升的高度。有些方法有一個或多個參數,它們對執行的動作做進一步的描述。
氣球對一個事件的反應如下所示:
SubBalloon_Puncture()
Balloon.Deflate
Balloon.MakeNoiseBang
Balloon.Inflated=False
Balloon.Diameter=1
EndSub
本例中程式碼描述了當刺穿事件發生時氣球的行為:呼叫Deflate方法,然後以Bang(發出的聲響)為參數呼叫MakeNoise方法。因為氣球已不再是充氣狀態,所以把Inflated屬性置為False,並為Diameter屬性設定一個新值。
實際上對氣球不能編程,但是,可以對VisualBasic的窗體或控制進行編程。作為程式設計師,由您作主。您決定應更改哪些屬性,呼叫哪些方法,對哪些事件作出回應,從而得到希望的外觀和行為。
設計窗體
窗體物件是VisualBasic應用程式的基本建構模組,是執行應用程式時與使用者互動操作的實際視窗。窗體有自己的屬性、事件和方法用於控制其外觀和行為。
設計窗體的第一步是設定它的屬性。這可以在設計時在“屬性”視窗中完成,或者運行時由程式碼來實現。
注意設計時,即在VisualBasic環境中創建應用程式的任何時刻,此時你可以操作窗體和控件,設定它們的屬性,對它們的事件編程。運行時是指實際運行應用程式並與應用程式互動的時間。
設定窗體屬性
窗體的許多屬性會影響窗體的外觀。 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方法可
用於直接在窗體表面上寫和畫。這些方法和更多的方法將在第十二章「使用文字和圖形」中詳細討論。
詳細資訊關於窗體的詳細信息,請參閱第六章「建立使用者介面」中的「再論窗體」。
->