#是微軟.NET架構的主力開發語言,它功能廣泛而強大,Web開發人員應該毫不猶豫地擁抱它。本文就通過一個攝氏溫度與華氏溫度間相互轉換的例子對C#
的GUI編程進行介紹,旨在帶領你快速步入C#之強大與神奇的編程世界。
准備條件
要理解本文所舉例程,首先要對C#和面向對象的編程有一個基本的了解。關於 C#的基本知識,請參閱 C#入門
作為程序開發者,我們都知道創建一個典型的基於 windows 的應用程序應該包含以下這些基本步驟:創建一個適當的表單;向表單中增加控件;最後增加響應用戶事件的代碼。
C#和 .NET 框架出現後,完成這些步驟所需要的工具都可以在System.WinForms 名子空間中找到。
第一步 創建一個表單
這非常簡單,只需要創建一個從 System.WinForms.Form 類中衍生出來的類,並對適當的屬性進行初始化就可以。在我們的例子中,類定義是這樣開始的:
public class TempConverter : System.WinForms.Form {
.
.
.
}
以下是我們希望的主窗口(表單)視圖:
我們希望表單具備如下特征:
- 窗口大小為 180乘 90象素
- 不給用戶改變窗口大小的能力
- 標題欄中顯示的標題是 +C -> +F / +F -> +C
- 初始狀態下表單顯示在屏幕的中心
- 不想要幫助按鈕(應用程序太簡單,不需要幫助按鈕)
- 不給用戶提供將應用程序最大化的能力
(因為在給定的窗口尺寸內,一切都是可視的,因此不需要最大化)
將表單初始化成給定的規格涉及到對 TempConverter 對象的某些屬性進行設置。有些屬性有改變值的方法,而其它屬性則要通過更新適當的實例變量來直接修改。下面是有關代碼。如果想要得到關於WinForms
類的屬性和方法的更多信息,那麼 .NET Framework SDK 所提供的文檔可以算是一個很好的參考資料。
this.SetSize(180,90);
this.BorderStyle = FormBorderStyle.FixedDialog;
this.Text = " +C -> +F / +F -> +C ";
this.StartPosition = FormStartPosition.CenterScreen;
this.HelpButton = false;
this.MaximizeBox = false;
現在把這些代碼放在一起進行編譯和運行,看看表單運行後是什麼樣子。這裡要使用類定義,創建一個構造器(其中要包含以上的代碼來初始化主窗口的外觀),並且要創建一個主方法來創建類的一個例示。以下是完成這一工作的代碼:
public class TempConverter : System.WinForms.Form {
public TempConverter() {
this.SetSize(180,90);
this.BorderStyle = FormBorderStyle.FixedDialog;
this.Text =" +C -> +F / +F -> +C ";
this.StartPosition = FormStartPosition.CenterScreen;
this.HelpButton = false;
this.MaximizeBox = false;
}
public static void Main() {
Application.Run( new TempConverter() );
}
}
以上只有 Main() 方法所在行是新的代碼。
Application.Run(new TempConverter());
上面這一行的意思是用新表單來啟動應用程序。
假設源文件叫做TempConverter.cs,那麼執行以下的命令編譯代碼:
csc /r:System.dll /r:Microsoft.Win32.Interop.dll /r:System.WinForms.dll TempConverter.cs
這裡不再詳細講解編譯命令,因為當Visual Studio .NET可用時,就不必要發出命令行的編譯命令了。