编程
将表单初始化成给定的规格涉及到对 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可用时,就
不必要发出命令行的编译命令了。
第二步 向表单中增加控件
接着的一步是向表单中增加控件。我们为每个控件创建一个实例变
量,对这些新实例变量进行初始化,最后把每个控件都放在表单中。
这里是增加了控件之后表单的样子,以及更新过的代码:
public class TempConverter : System.WinForms.Form
{
Label lTempFah = new Label();
Label lTempCel = new Label();
TextBox tTempFah = new TextBox();
TextBox tTempCel = new TextBox();
Button bnCtoF = new Button();
Button bnFtoC = new Button();
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;
tTempCel.TabIndex = 0;
tTempCel.SetSize(50,25);
tTempCel.SetLocation(13,5);
lTempCel.TabStop = false;
lTempCel.Text = "+C ";
lTempCel.SetSize(25, 25);
lTempCel.SetLocation(65,5);
tTempFah.TabIndex = 1;
tTempFah.SetSize(50,25);
tTempFah.SetLocation(90,5);
lTempFah.TabStop = false;
lTempFah.Text = "+F ";
lTempFah.SetSize(25,25);
lTempFah.SetLocation(142,5);
bnCtoF.TabIndex = 2;
bnCtoF.Text = "+C to +F ";
bnCtoF.SetSize(70,25);
bnCtoF.SetLocation(13,35);
bnFtoC.TabIndex = 3;
bnFtoC.Text = "+F to +C ";
bnFtoC.SetSize(70,25);
bnFtoC.SetLocation(90,35);
this.Controls.Add(tTempCel);
this.Controls.Add(lTempCel);
this.Controls.Add(tTempFah);
this.Controls.Add(lTempFah);
this.Controls.Add(bnCtoF);
this.Controls.Add(bnFtoC);
}
以上代码首先创建两个标签、两个文本框和两个按钮,然后对每个控
件进行初始化并将其加入表单中。具体的含义如下:
- SetSize() 初始化控件的尺寸
- SetLocation() 初始化表单中控件的位置
- 设置控件的TabStop 属性为false表示这个控件从不被聚焦
- 设置TabIndex 为 X 表示当敲击TAB键x次后聚焦此控件
- 控件的text 属性表示显示在其上的文字信息
- this.Controls.Add() 表示在表单上放置一个控件,要快速地添
加每个控件,可以这么书写:this.Controls = new
Control[] { tTempCel, lTempCel, tTempFar?.}