共用方式為


程式結構和執行流程

更新:2007 年 11 月

當建立 C# 應用程式時,您可以選擇建立主控台應用程式 (Console Application) 或 Windows Form 應用程式。這兩者的相異處不僅在於使用者介面的類型不同,其執行流程也不同。

Windows Form 應用程式

在使用圖形使用者介面的典型 Windows 架構應用程式中,初始啟動後的所有動作,幾乎都會在回應使用者動作時發生,例如移動滑鼠、選取功能表選項或輸入文字。這些動作會觸發 (Trigger)「事件」(Event),並會呼叫應用程式中稱為「事件處理常式」(Event Handler) 的特殊方法。幾乎所有 Windows 架構程式的動作都是由事件處理常式所起始。沒有事件產生時,程式就不會執行任何動作。

如果您慣於使用程序式的程式設計語言,例如 COBOL、BASIC 或 FORTRAN,您將會需要習慣事件驅動的模型。它們最基本的差異在於,在事件驅動的程式設計中,其他軟體 (以及作業系統本身) 會呼叫應用程式中的事件處理常式方法。您無法知道它們會呼叫哪些方法。您可以決定要在應用程式中處理哪些事件,但是無法事先知道這些事件將會發生的確實順序。

在典型的 Windows 應用程式中,用以保留應用程式狀態的欄位、陣列和集合都會放在主要的 Form 類別中,而其預設名稱為 Form1。在此類別的範圍中,在相同的 Form 類別中所實作的所有事件處理常式方法,都能夠存取這些成員。呼叫事件處理常式時,它可能會執行某些動作來修改應用程式資料,而在方法傳回時,應用程式則會繼續其等待狀態。例如,表單可能包含 [TextBox] 控制項和 [更新] 按鈕。當使用者按一下按鈕時,應用程式中的事件處理常式可能會執行某些動作,例如取得 [TextBox] 中的文字,然後將它加入至儲存在類別範圍中的其他字串清單。加入字串後,應用程式就會回到等待狀態。其他事件處理常式可能會在相同的字串清單上回應使用者輸入,執行其他類型的動作。

您的自訂類別可以使用與 Windows Form 相同的機制來傳送和接受事件。如需詳細資訊,請參閱委派 (C# 程式設計手冊)

主控台應用程式

在很多主控台應用程式中,執行流程是從一個陳述式進行到下一個陳述式,直到到達程式的結尾處且應用程式結束為止。當然,情況並不一定都是這樣,因為主控台應用程式仍然可以由鍵盤事件,以及如計時器和網路連接等物件所產生的系統事件所驅動。簡單的主控台應用程式通常只由一個類別所組成,也就是包含 Main 方法的類別。但是,比較複雜的應用程式則可能包含任何數量的類別。

如需詳細資訊

研究 C# 程式結構的最佳方式,就是檢視 Visual C# 範例中的範例程式碼,您可以在 Visual C# 開發人員中心和網際網路的其他地方找到該範例程式碼。

請參閱

工作

HOW TO:建立新的 Visual C# Express 應用程式

概念

C# 語言入門

Windows Form 中事件的順序

Windows Form 中的滑鼠事件