Visual C#是微软公司.Ner FrameWork框架中的一个重要组成部分,也是微软公司极力推荐的新一代程序开发语言。WinForm是.Net开发平台中对Windows Form的一种称谓。.Net 为开发WinForm的应用程序提供了丰富的Class Library(类库)。这些WinFrom 类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms。在此名称空间中定义了许多类,在开发基于.Net的GUI应用程序的时候,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。本文就试图通过一个最基本的类--Form,来具体说明一下用Visual C#开发WinForm
程序的具体过程。
一.
程序开发和运行环境及概括介绍
本问的所有调试
程序都基于微软视窗2000专业版本和.Net FrameWork Beta 2版。
二.第一个WinForm
如果你的机器已经达到了我们
程序要求的运行环境,那就打开一个文本编辑器把下面的
程序代码拷贝到编辑器里面,然后另存为first.cs文件。通过下面的编译语句:
csc /t:winexe /r:system.dll first.cs
编译完成后。运行
程序就可以看到以下界面:
程序源代码:first.cs
using System ;
//导入 WinForms 名称空间
using System.Windows.Forms ;
//Class Form1 继承并扩展 System.Windows.Forms名称空间中class Form
public class Form1 : Form
{
public static void Main()
{
//运行
程序 Application.Run(new Form1());
}
}
小结:
1).首选要使用"using System.Windows.Forms"语句导入WinForm的名称空间
2).声明Form1 类,此类是继承、扩展了using System.Windows.Forms 名称空间中的Form 类
3)."Application"类,此类也被定义在using System.Windows.Forms名称空间中,由于此类封闭的,所有我们不能继承。"Application"类主要作用是运行和退出Windows的应用程序,还可以处理Windows的消息。调用"Application"类的"Run"方法表明将要开始运行应用
程序。
三.做一个透明的WinForm
当我第一次在视窗2000中看到透明的窗体,就想做出这样一个窗体应该是非常难的。肯定要调用很多的API函数。当接触了.Net以后,才发现用VisualC#做出一个透明的窗体是多么简单,只要设定一个值就可以了。下面还是让我们来看看通过以下代码生成的透明窗体到底是什么样。
透明窗体的源代码:second.cs
using System ;
using System.Windows.Forms ;
using System.Drawing ;
public class Form2 : Form
{
public static void Main( )
{
Application.Run( new Form2( ) );
}
public Form2( )
{
this.Location = new System.Drawing.Point( 100 , 100 ) ;
this.Cursor = System.Windows.Forms.Cursors.Hand;
// 定义在窗体上,光标显示为手形
this.Text = "透明的WinForm窗体!";
// 定义窗体的标题名称
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
// 定义窗体的开始显示位置是屏幕的中间
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
// 窗体的边界是Fixed3D类型
this.ForeColor = System.Drawing.SystemColors.Desktop;
//以桌面的前景色作为窗体的前景色
this.Font = new System.Drawing.Font ( "宋体", 9 ) ;
// 定义字体类型,大小
this.BackColor = System.Drawing.Color.Blue;
// 定义背景色为蓝色
this.ClientSize = new System.Drawing.Size( 440 , 170 ) ;
// 设置窗体的大小
// Opacity属性设立窗体的透明程度,只对于视窗2000有效
this.Opacity = 0.60 ;
}
}
小结:
以上的代码其实和第一个例子的代码有很多相似,只是在Form2 Class中多定义了一些属性。
1)."