運(yùn)行該程序,則窗體如圖4.9所示?梢,在窗體啟動后,窗體的Resize事件就被觸發(fā)了。使用鼠標(biāo)拖動窗體的邊界來改變它的大小,或單擊最大化按鈕使窗體最大化,可以發(fā)現(xiàn),窗體中按鈕的大小也隨著成比例地改變,并且始終處于窗體的中心,如圖4.10所示。
由于QueryUnload事件在窗體卸載之前發(fā)生,因此,可以通過編寫QueryUnload事件過程來完成一些工作,如文件的保存等。該事件在MDI應(yīng)用程序中相當(dāng)重要,這在第七章中還會講到。這里,只是通過一個實(shí)例介紹QueryUnload事件的使用。
實(shí)例4.5窗體的QueryUnload事件
打開窗體的【代碼】窗口,在事件列表中選擇QueryUnload事件,則QueryUnload事件過程的框架就出現(xiàn)在代碼編輯區(qū)中,形式如下:
Private Sub Form_QueryUnload(Cancel As Integer,Unload(Cancel As Integer, UnloadMode As Integer)
End Sub
其中參數(shù)Cancel是一個整數(shù)。若在QueryUnload事件過程中給此參數(shù)賦一個非零值(True),則將阻止窗體的關(guān)閉;若賦0值(False),則將關(guān)閉窗體。如果忽略此參數(shù),窗體將被關(guān)閉。
UnloadMode參數(shù)是事件的返回值,它表示引起QueryUnload事件的原因。表4.11中列出了該參數(shù)的返回值及其含義。
編寫QueryUnload事件過程如下:
Private Sub Form_QueryUnload(Cancel As Integer,UnloadMode As Integer)
If UnloadMode=0 Then
Print“單擊關(guān)閉按鈕關(guān)閉我,休想!”
Cancel=Ture
End If
End Sub
運(yùn)行該程序,單擊窗體右上角的【關(guān)閉】按鈕,窗體并不關(guān)閉,并且顯示"單擊關(guān)閉按鈕關(guān)閉我,休想!",如圖4.11所示。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |