表單事件

看板Visual_Basic作者 (小獅)時間19年前 (2005/04/04 13:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
★ 表單載入、顯現、載出時會依序觸發下列幾個事件: Initialize 表單初始化 Load 表單載入記憶體 Resize 表單大小變更 Activate 表單設為作用中視窗 GotFocus 表單取得焦點 Paint 表單畫面重繪 QueryUnload 表單收到關閉訊息 Unload 表單載出記憶體 Terminate 表單終止化 ★ 除了上述事件外,另有下列幾種不會在表單載出時觸發的事件: LostFocus 表單失去焦點 Deactivate 表單設為非作用中視窗 ★ 事件觸發條件 GotFocus 事件 沒有任何控制項的表單會取得焦點,並觸發事件。 含有控制項的表單,不會取得焦點,也不會觸發事件。 如果所有控制項的 Enabled 屬性皆設為 False 時,表單會取得焦點,並觸發事件。 LostFocus 事件 在同一個執行個體中失去焦點,焦點轉到其它的表單時觸發。 如果是焦點轉移到其它執行個體 (例如:記事本),不會觸發此事件。 Deactivate 事件與 LostFocus 事件擁有同樣的特性。 Initialize 事件在程式啟動到程式結束前,只會觸發一次。 Timernate 事件只會在程式結束前觸發。 Paint 事件,當 AutoRedraw 屬性被設為 True 時,不會觸發。 ★ 舉例說明 假設,專案中有三個表單,分別為 Form1, Form2, Form3 Form1 有個開啟按鈕,按下去會打開 Form2 及 Form3 Form3 有個關閉按鈕,按下去會依序關閉 Form3, Form2, Form1 事件觸發的順序則為: 程式啟動 → Form1.Initialize → Form1.Load → Form1.Resize → Form1.Activate → Form1.Paint → 按下開啟按鈕 → Form2.Initialize → Form2.Load → Form2.Resize → Form3.Initialize → Form3.Load → Form3.Resize → Form1.Deactivate → Form2.Activate → Form2.GotFocus → Form2.LostFocus → Form2.Deactivate → Form3.Activate → Form3.Paint → Form2.Paint → 按下關閉按鈕 → Form3.QueryUnload → Form3.Unload → Form2.QueryUnload → Form2.Unload → Form1.QueryUnload → Form1.Unload → Form1.Terminate → Form2.Terminate → Form3.Terminate → 程式終止 -- 人若無星爺,跟條鹹魚有何分別? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.155.162
文章代碼(AID): #12KCrLgI (Visual_Basic)
討論串 (同標題文章)
文章代碼(AID): #12KCrLgI (Visual_Basic)