实例介绍C# GUI开发(1)

发表于:2007-06-30来源:作者:点击数: 标签:
在本文里,通过编辑一个小小的可以将温度从摄氏转换到华氏的程序,我们将亲身体会到C# GUI 开发 过程。阅读本文最基本的要求是您要具有C#及 面向对象 程序设计的基本知识。本文的写作宗旨是介绍C#,如果您希望编译或是运行本文所列举的程序,则需要有.NET
     在本文里,通过编辑一个小小的可以将温度从摄氏转换到华氏的程序,我们将亲身体会到C# GUI开发过程。阅读本文最基本的要求是您要具有C#及面向对象程序设计的基本知识。本文的写作宗旨是介绍C#,如果您希望编译或是运行本文所列举的程序,则需要有.NET Framework SDK的支持。
  
    创建一个视窗应用程序主要包括以下的基本步骤:创建适合的表单,在表单上添加control,最后添加代码。完成上述过程所需用到的C# 以及 .NET framework我们可以在System.WinForms namespace中找到。
  
    第一步,创建表单。
  
    我们以 class System.WinForms 为起源,创建一个class,然后初始化属性。本文举例中,Class的定义起始如下
  
  public class TempConverter : System.WinForms.Form {
  .
  .
  .
  }
  
  
  
    下面是我们想要的主窗口式样
  
     大小为180*90像素
  
     不能随意修改视窗大小。
  
     标题显示为 °C->°F / °F->°C
  
     表单出现在屏幕中央
  
     我们不需要"帮助"键(我们编制的应用程序过于简便,以至不需要此类帮助)
  
     我们不需要让用户有扩大该程序视窗范围的权限(因为在给定尺寸里,什么都清晰可见)
  
    通过设定TempConverter对象的属性值初始化表单。属性值的设定有两种方法:
     
     一、使用方法设定属性值
  
     二、通过属性变量直接设定。
  
    以下代码。如果您想知道更多的有关于WinForms class的属性和方法的知识,则可以参阅.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;
  
  
    通过上述步骤,我们可以把所有的代码连接在一起,这样我们就能很方便的编辑、运行程序观看表单的外观。为此,我们要用到class 定义,要创建一个构造器(该构造器包含了上面所提到的代码并会初始化主视窗的外观),然后还需要建立一个main方法。具体建立步骤如下:
  
  
  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时,并不需要键入指令行,因此在本文不加详述。
  

原文转自:http://www.ltesting.net