http://tw.myblog.yahoo.com/jw!C0TkfHeAHxRFVrzGT.tKcQxxfIA-/article?mid=3415&prev=4986&l=f&fid=12
Initialize:
這是Form最先被觸發的事件,可別以為 Load 是第一個哦,Initialize才是第一個,會放在這個程式裡的程式碼大多是屬於要『亂搞型』,並不是真的要亂搞,可別誤會了哦,就是要搶在Form戴入前做的一些動作。
因為這時,Form真正的內容都還沒有讀取到記憶體內,所以Initialize可算是一個先頭部隊,先去處理掉一些麻煩的事,或是先建立起一個陣地,等待主力部隊的到來。
Terminate:
同樣的,別以為Unload是最後一個觸發的事件哦。
這算是和Initialize相反的一個事件,也是Form最一個會觸發的事件,簡單的說,這個事件裡的程式碼就是做收尾的工作,俗稱『收爛攤子』。
Load:
Form戴入到記體時會觸發的一個事件,這時包今在Form裡的所有一切都會讀取完成,所以在Form裡的程式碼才可以使用哦,有什麼要先執行的動作,就都可以寫在這裡。主力部隊到後,就要開始定布陣、安置人員,準備開始作戰了。
Unload:
這個和Load是個相反的事件,Form從記憶體中釋放時會產生的一個事件。這就好比主力部隊要離開時所做的一些動作都可以放在這個事件裡。
Activate:
一個系統中通常會有好幾個Form同時在執行,就拿您的電腦來說,你可能會開好幾個程式在用,或者開好幾個IE在看,有時會切換來切換去交互看,當您切換到要看的那一瞬間,Activate事件就會觸發,這就好比一個軍團裡有很多部隊,而司令指到某個部隊一瞬間,那個部隊的頭頭就一驚!!。
Deactivate
這個事件和Activate又是相反的,就是您要切換到另一個程式的一瞬間會觸發的事件。那個本來一驚的頭頭鬆了一口氣。
GotFocus:
這個事件是緊接著在Activate之後被觸發的,也最最常用的一個事件,大家常看到的變換滑鼠指標外型的程式碼有些是寫在這個事件裡。不過也可以寫在其他事件裡,這裡先不討論,因為有太多了。
LostFocus:
這個事件是GotFocus相反的事件,這個事件是在Deactivate事件之前發生的,滑鼠的指標外型要是有在GotFocus變動過,那在這裡就要還原到預設的,不然移到另一個程式時會怪怪怪的,當然也不一定要改回預設的,看程式的需求而定。
DragDrop:
這個事件是拖拉時會觸發的事件,當你把一個視窗拉到另一個位置時,這是最簡單的解釋。但是一個Form裡可以拖拉的東西非常多,只是大部分被設定成不能拖立。
把不要的檔案拉到垃圾桶時就會觸發這個事件,讓你可以把檔案拖動到垃圾桶,同時也可以寫入位置判斷的程式碼。
DragOver:
這個事件和DragDrop又是一個相反的事件,當拖拉動作完成放開時就會觸發這個事件,把檔案拉到垃圾桶放開時,檔案刪除的程式碼就可以寫在這個事件裡。
當一個Form正常狀態下執行 → 結束時就會依下列順序觸發以下的事件:(DragDrop、DragOver不列入)
Initialize → Load → Activate → GotFocus → LostFocus → Deactivate → Unload → Terminate