C#Windows程式的生與死 (轉)
C#Windows程式的生與死 (轉)[@more@]在的中,雖然可以的開發,不過不知道程式的執行總是一件不是很爽的事情,所以我
對WINDOWS程式進行了的跟蹤.大致瞭解一下C#中程式執行的規則(因水平有限有不完善的地方大家原諒
):
第一部:進入static void Main()
第二部執行static void Main() 中的Application.Run(new Form1());在這中間對窗體進行構造.
2.1 privatSystem.ComponentModel.Container components = null;作用是Container 類是 IContainer 介面的預設實現。 容器是封裝和跟蹤零個或更多個的。在此上下文中,包容是指邏輯包, 而不是直觀包容。可以在多種方案下使用元件和容器,包括視覺化方案和非視覺化方案。在一個先入先出列表中跟蹤容器中的元件,該列表也定義了容器 內元件的順序。所新增的元件會附加到列表的結尾。
2.2 執行窗體構造public Form1()初始化窗體
2.2.1執行建構函式中的
InitializeComponen ();
在這個函式中對WINDOWS (System.Windows.Forms.Control)
和窗體初始化
2.2.2執行ResumeLayout(false);
ResumeLayout:當調整控制元件的多個屬性時,將先後使用 SuspendLayout 和ResumeLayout 方法取消多個 Layout 事件。例如,通常先 SuspendLayout 方法,然後設定控制元件的 Size、Location、Anchor 或 Dock 屬性,最後呼叫 ResumeLayout(bool) 方法以使更改生效。預設是TRUE恢復正常的佈局邏輯,FALSE改變佈局。
第三部 執行後顯示窗體,進行程式的執行,等待事件發生,並響應事件
第四部 關閉窗體. exit Application.Run(可能相當於WINDOWS中的訊息迴圈機制)函式,
程式結束.
對WINDOWS程式進行了的跟蹤.大致瞭解一下C#中程式執行的規則(因水平有限有不完善的地方大家原諒
):
第一部:進入static void Main()
第二部執行static void Main() 中的Application.Run(new Form1());在這中間對窗體進行構造.
2.1 privatSystem.ComponentModel.Container components = null;作用是Container 類是 IContainer 介面的預設實現。 容器是封裝和跟蹤零個或更多個的。在此上下文中,包容是指邏輯包, 而不是直觀包容。可以在多種方案下使用元件和容器,包括視覺化方案和非視覺化方案。在一個先入先出列表中跟蹤容器中的元件,該列表也定義了容器 內元件的順序。所新增的元件會附加到列表的結尾。
2.2 執行窗體構造public Form1()初始化窗體
2.2.1執行建構函式中的
InitializeComponen ();
在這個函式中對WINDOWS (System.Windows.Forms.Control)
和窗體初始化
2.2.2執行ResumeLayout(false);
ResumeLayout:當調整控制元件的多個屬性時,將先後使用 SuspendLayout 和ResumeLayout 方法取消多個 Layout 事件。例如,通常先 SuspendLayout 方法,然後設定控制元件的 Size、Location、Anchor 或 Dock 屬性,最後呼叫 ResumeLayout(bool) 方法以使更改生效。預設是TRUE恢復正常的佈局邏輯,FALSE改變佈局。
第三部 執行後顯示窗體,進行程式的執行,等待事件發生,並響應事件
第四部 關閉窗體. exit Application.Run(可能相當於WINDOWS中的訊息迴圈機制)函式,
程式結束.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991549/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 簡述MFC程式生與死 (轉)C程式
- 遊戲創業者的“生”與“死”遊戲創業
- 【Oracle】死鎖的產生與處理Oracle
- 自動殺死UNIX僵死的程式(轉)
- 前端服務化——頁面搭建工具的死與生前端
- 殺死一個正在執行的程式 (轉)
- 鎖的種類,阻塞,死鎖產生與解決辦法。
- 一個殺死終端所有程式的 Shell(轉)
- 殺死Oracle死鎖程式Oracle
- 程式與執行緒的產生執行緒
- 生於憂患,死於安樂
- oracle 死鎖發生的測試用例Oracle
- 殺掉鎖死的程式
- 向死還生:遊戲裡的死亡懲罰(下)遊戲
- 作業系統(5) 死鎖的概念 死鎖產生的必要條件 死鎖的處理策略 預防死鎖 避免死鎖 死鎖的檢測和解除 銀行家演算法作業系統演算法
- 【Mysql】兩條insert 語句產生的死鎖MySql
- ORA-00060死鎖的產生及解決
- oracle殺死鎖表的程式Oracle
- ORA-00060: Deadlock detected 模擬死鎖產生與解決方案
- 推薦:深入研究ITL阻塞與ITL死鎖(轉載)
- 程式的狀態與轉換
- 例項詳解 Java 死鎖與破解死鎖Java
- HTML5已死;HTML5長生!HTML
- 如何定位 golang 程式 hang 死的 bugGolang
- 5種將死的程式語言
- ORACLE中殺死鎖程式的方法Oracle
- 殺死殭屍程式
- Perl程式與c程式速度的比較(轉)C程式
- 檢視oracle死鎖程式並結束死鎖Oracle
- Java的產生(轉)Java
- 小程式:技術標準與生態的演變
- Java多執行緒程式設計(同步、死鎖、生產消費者問題)Java執行緒程式設計
- 如何捕獲和記錄SQL Server中發生的死鎖SQLServer
- 一個執行緒,從“生”到“死”經歷的過程執行緒
- 社交遊戲:十年生死兩茫茫遊戲
- 破解WinXP組策略的鎖死難題(轉)
- 按照名字殺死程式的四種方法
- 如何批量殺死當前的MySQL程式MySql