如同嬰兒的降生,winform程式有乙個起點,那就是它的main函式;如同乙個青年的成長和一次次成功,乙個窗體中可以一次次的完成各種任務;如同人類的生生不息,乙個winform窗體可以孕育乙個新的窗體;如同老人的逝去,winform在經歷完我們的操作,退出最後乙個窗體。應用程式有其完整的生命週期。我們都已經知道winform是乙個表現,而非全部,它負責顯示我們要求其顯示的資料,所以不要對它有過分的期望。真正的資料完全有你自己來控制。
當然,並不是每乙個物件都如此的幸運,能夠長壽到和窗體一樣,在很多時候它們可能只是曇花一現,每個物件的位置決定了它的壽命,在某乙個方法裡定義的物件,它的生命週期注定非常的短(只能生存到方法大括號),而在乙個類裡定義的物件,自然意味著壽命的上限等同於我們的物件。窗體也是乙個類,你可以在其中定義乙個成員,也可能是在類的某乙個方法裡定義乙個成員(我們更多的稱之為區域性變數),類是無法執行的,能執行著的往往是依據類(模板)建立的很多物件構成的整個應用程式。 那麼我就想問你乙個問題:「假如我在窗體類中定義乙個陣列(也許你不喜歡將之稱之為集合),是不是就意味著,只要這個窗體的物件生存著,這個陣列就生存著?」
當然是這樣,所以你可以借助乙個放在窗體上的陣列來儲存你的資料。
那些我們稱之為窗體和控制項的小傢伙們不會去做它們職權之外的工作,你必須提供資料來讓它們顯示。對了,我們需要乙個「資料管理者」,由它來負責資料的提供和在資料修改之後,將資料儲存回去。你也許從現在開始明白為什麼教材上的**裡,總有一些管理者的類了。但同上,要維持我們的資料管理者物件的生存期,你可以讓他生存的很短,例如從db中取得資料,顯示到你的myqq上,只需要在方法裡取得資料,你也可以讓他和窗體一樣長壽,只需要在窗體類裡來定義這個「資料管理者」物件,然後窗體就可以安心的負責顯示,當它需要資料時,就向「資料管理者」要,當它需要將使用者修改過的資料儲存起來,就去操作這個資料管理者。
乙個程序的誕生與死亡
createprocess啟用的。2.產生乙個程序核心物件,計數值為1 3.系統為此程序建立乙個4gb位址空間 5.系統為此程序建立乙個執行緒,稱為主線程。執行緒才是cpu時間的分配物件。6.系統呼叫c runtime函式庫的startup code 10.回到startup code 11.回到系...
Windos 程式的生與死
windows程式的生與死 摘自侯俊傑 深入淺出mfc 1 程式的初始化過程中呼叫createwindow,為程式建立了乙個視窗,作為程式的螢幕舞台,createwindow產生視窗之後會送出wm create直接給視窗函式,後者於是可以在此時做一些初始化操作 例如配置記憶體 開啟檔案 讀取初始資料...
Windows程式的生與死
windows程式分為 程式 和 ui資源 兩大部分最後以rc編譯器集成為乙個完整的exe檔案。以訊息為基礎,以事件驅動 message based,event driven 程式的開始與結束大致如下 1 程式初始化中呼叫createwindow,為程式建立乙個視窗,作為程式的螢幕舞台,create...