您现在的位置是: 软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > C#专区 > 正文


-明明白白注册表工具
-PHP优化与安全
-Dreamweaver MX 新功能体验
-Visual Basic 图形及图像处理

用C#设计Windows应用程序模板
2002-05-28· ·Crystall编译··yesky

上一页  1 2 3 4 5 6  下一页


  创建窗体

  在.Net FrameWork程序设计中,窗体总是System.Windows.Forms.Form类的子类,他继承聊着各类的全部特征,你甚至不用添加任何一行代码就可以创建window窗体了。现在我们创建一个form类的子类myapp,需要注意的是在说明继承时使用冒号:。


using System.Windows.Forms;

public class MyWinApp: Form {

}

  与其他程序相似,我们需要一个main()的主方法作为应用程序的入口。在main()中使用System.Windows.Forms的run方法来开始应用程序和显示窗体。run方法有三种重载方式,对于windows应用程序,我们采取重载一个窗体对象的方式:


public static void Main() {
MyWinApp form = new MyWinApp();
Application.Run(form);
}

作为选择,可以在main()方法中将两行代码写成一行:

public static void Main() {
Application.Run(new MyWinApp());
}

  设置属性

  一旦有了窗体,就可以设置它的属性(象高度、宽度、标题等)并指定一个象图1那样的图标,可以通过代码或从构造器重调用一个方法来完成这个设置。在list1中有一个方法InitializeComponent,可以将初始化代码写入其中。

  使用width和height属性设置宽度和高度

this.Width = 400;
this.Height = 300;

  使用窗体的text属性设置标题

this.Text = "My Windows Application";

  设置图标

  如果未作说明,windows应用程序将显示一个缺省图标,可以修改这个图标,方法是设置窗体的icon属性,这个属性接受一个System.Drawing.Icon对象。Icon类有几个可以用于初始化Icon对象的构造函数,需要说明的是最好提供.ico文件的完全路径。

this.Icon = new Icon(imageFolder + "applicationLogo.ico");

  这里 imageFolder是一个静态域,用于指示icon文件的目录,imageFolder的定义如下:

static String imageFolder = "Images" +

Path.DirectorySeparatorChar.ToString();

  这告诉应用程序icon文件在应用程序的image目录下,这里使用了System.IO.Path 类的DirectorySeparatorChar属性获得操作系统用于分隔目录和父目录的分隔符,在这里没有使用"/",这是因为对于windows操作系统这是正确的,但对于linux和unix则不然。这也是为了证明模板对于其他操作系统也是方便的。

  窗体的位置

  使窗体居中时非常有用的,要达到这个目的,需要使用StartPosition属性,并将FormStartPosition 的一个成员赋给他。

this.StartPosition = FormStartPosition.CenterScreen;

  当然也可以用form类的CenterToScreen方法是窗体居中,但这个方法不能直接使用。

this.CenterToScreen();

  form类还有其他一些让人感兴趣的属性和方法,这里列出了其中的部分:

   1、设置Opacity 属性创建一个透明或半透明的窗体

   2、设置modal属性使窗体为模式的或非模式的

   3、通过BackColor属性改变窗体的背景颜色

   4、将TopMost属性设置为true,以确定窗体在其他所有非最顶部窗体之上

上一页  1 2 3 4 5 6  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 C#锐利体验(七)
 C#锐利体验(六)
 锋利的新语言:C#提供了C++的功能和Visual Basic的简单性
 DirectDraw之C#入门攻略
 使用C#轻松编写.Net组件
 使用C#开发一个简单的P2P应用
 Visual C# 对话框全接触
 从C/C++到C#的锐利之路
 C#中调用API
 在C#中使用微软AGENT之TTS
 C#与Java述评
 C#的多线程机制探索
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!