Form的事件

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

覺得自己像是個白痴一樣

本來7/19錢櫃唱歌,我是很期待的,
由於是前公司同事約的,又有要幫我介紹女性友人,
不過期待歸期待,隨之而來的失望總是愈大,
晚上帶著愉快的心情前往KTV,
即被告知說SOPHIA有事不克前來,而同行的LILI也不會來了,
那一刻我雖然回答:”沒關係”,不過我心中的OS卻是:
“喂!!之前還恐嚇我說穿的拉塌,下次就別想她幫我介紹了,結果今天卻放鳥…..OOXX”,
其實這都只是小事,最讓我心情不好的,
是我居然會為這小小的事而得失感如此重,
如此的失望,這,我是怎麼了??

Delegate概念

委派是一種物件導向【函式指標】,讓您利用函式的參考來間接叫用 (Invoke) 函式。
你可以把他想像成一個電燈開關或遙控器,可以從遠端操控電器。
在呼叫程序與被呼叫程序之間需要媒介的情況下,委派相當有用。

例如,您可能要引發事件的物件能夠在不同的情況下呼叫不同的事件處理常式。
但可惜的是,引發事件的物件無法提前知道處理特定事件的是哪一個事件處理常式。

當您使用 AddHandler 陳述式時,藉由為您建立委派,Visual Basic .NET 讓您能夠動態建立事件處理常式與事件的關聯。
另一個用法則是程式之間Call back的用法。例如A物件有個函式Foo,B物件有個函式Bar,
當A物件呼叫B物件的Bar函數時,希望Bar執行完之後,回Call A物件的Foo函式。
簡單做法就是Bar函式裡面加上一段 A.Foo就可以了。但是如果B是一個服務元件,也就是很多的函式都會引用到他,
也就是 Bar無法預先知道將來回Call的是那一個函數,可能是A.Foo1, C.Foo2, D.Foo3,…,這時候delegate就很好用了。

以A為例,在呼叫B.Bar之前,先建立一個delegate,對應到A.Foo,相對的修改B.Bar的定義,加入一個delegate物件參數,
當A呼叫B.Bar時,將這個 delegate當作參數,傳送到B.Bar,Bar執行完,直接叫用這個delegate即可。
依此類推,每個呼叫B.Bar的物件不同,對應過來的delegate也不同,但對Bar來說,都是相同的做法。

我們是情人還是朋友

在每個人的心中都有一份屬於自己的一份愛還有一份戀~

這種愛戀可以一輩子放在心裡,想到的時候就會暖暖的!

有一種愛戀,只能藏在心底,一個字都不能說出口,
或許它不會茁壯成茶飯不思,但卻也能穩穩的永不熄滅。

這樣的愛戀,也會有思念,有依賴,有習慣,有包容,
那個人的意義不同於一般的朋友,他很重要,在心裡佔有一席之地。
想起他的時候,嘴角會不自覺的揚起一道弧線,
心情變得愉悅,眼神變得柔和,對他的祝福永遠不會缺少,
總是想要滿滿的給他一籮筐還覺得不夠,不管天涯海角,日換星移,
總是希望知道他還過得好,還能存在生命裡。

不會是情人,不會談戀愛,但,那的確是一種愛戀,
多沒有辦法多到想要朝朝暮暮,少也沒有辦法少到把他視為普通。

那個位置很特別,在某一些層面,甚至貼近程度連情人都比不上,
這輩子就算一方不會找來,另一方也會朝他尋去,
這樣,算不算理所當然的相守一生?

這種愛戀,放在心上,感覺很輕,卻重得無法放下,
於是,不管旅行到哪個國家、哪個城市,
都會惦記著要給他寄張親筆寫的書信或者名信片,
在每一個觸動共同回憶,或者忍不住想要和他分享的人事時地! 物,
都會留給他一個紀念品,逢年過節的時候,
就算忙得沒時間寫卡片,在唯一撰寫的五張卡片裡,肯定有他一份,
再怎麼沒時間,卻怎麼也會排除萬難和他共進一杯咖啡。
思念很長,惦念很遠,他在心裡,分明是一種愛戀。
你擁有過這種愛戀嗎?
即便連手都不曾牽過,但,卻想要一輩子都在對方身邊。
永遠和他站在同一邊,有體諒,有瞭解,有疼愛,有寬容,
淺淺的愛戀,深深的在心底,一輩子,一樣不離不棄。

Shared

沒有類別的明確執行個體,因此無法從共用方法或共用成員初始設定式中參考至類別的執行個體成員http://msdn2.microsoft.com/zh-tw/library/xfsswe45(vs.80).aspx

由使用 Visual Basic . NET 或 Visual Basic 2005 如何建立及使用共用成員
http://support.microsoft.com/kb/308371/zh-tw

為什麼VB.net的Shared(共享)方法在C#中叫Static(靜態)
http://zhenyulu.cnblogs.com/articles/385047.html