用C#设计Windows应用程序模板(2)

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

设置图标

如果未作说明,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,以确定窗体在其他所有非最顶部窗体之上

给窗体添加控件

windows控件均继承自System.Windows.Forms.Control类,control类处理用户输入、安全等,他给窗体的控件提供了一个windows句柄,以及一些重要的属性,如Name, Enabled, Text, BackColor, Left, Top, Size, Location, Visible, Width, 和 Height。

System.Windows.Forms名称空间提供了12个控件,每一个控件都有它自己的属性和特征,所以在篇文章中我们不可能全部讨论。给窗体添加控减非常容易,下面的代码给窗体添加了三个控件,分别是:Label, Button, 和TreeView。

Label label;
Button button;
TreeView tree; 

为了简便,可以在声明的同时实例化这些对象。

Label label = new Label();
Button button = new Button();
TreeView tree = new TreeView(); 

然后在InitializeComponent方法中设置这些控件的属性,尤其是设置控件的大小和在窗体中的位置,对于大小可以使用width和height属性,比如treeview控件的大小可以使用下面的属性:

tree.Width = 100;
tree.Height = 100; 

确定控件的位置可以使用控件的left和top属性,这两个属性决定了控件的左上角的位置,就像下面的语句决定了treeview的位置:

tree.Top = 40;
tree.Left = 20; 

当然你也可以使用更简单的Location属性,将System.Drawing.Point结构的实例赋给他。我们用这种方法确定Label和Button的位置。

label.Location = new Point(220, 40);
button.Location = new Point(220, 80); 

下一步就是要使控件在窗体上可见。使用Form.ControlCollection类的add方法将每个控件添加到窗体的ControlCollection中,ControlCollection可以使用窗体的控件属性访问。

this.Controls.Add(label);
this.Controls.Add(button);
this.Controls.Add(tree);




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。