C#Windows程式的生與死
阿新 • • 發佈:2019-02-11
在C#的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中的訊息迴圈機制)函式,
程式結束.
對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中的訊息迴圈機制)函式,
程式結束.