C#Form设计

 

写一个windows应用程序总是从下面的几个步骤开始:
1、创建一个窗体
2、给窗体添加控件
3、添加菜单和菜单项,并绑定到窗体上
4、创建工具条
5、添加状态栏
6、添加事件处理器
在windows应用程序开发中,你不可能完全跳过这些步骤,你可以对他作些修改,但不可能完全跳过。
创建窗体
在.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,以确定窗体在其他所有非最顶部窗体之上

给窗体添加控件
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);
添加菜单和菜单项
要找到没有菜单的windows应用程序非常困难,菜单使访问应用程序的功能变得很简单,在大多数环境下可以最小的使用控件。菜单比控件占用更少的空间,同时使应用程序显得更有组织。
在System.Windows.Forms名称空间中,所有与菜单相关的控件都是menu类的子类。menu是一个抽象类,你不能直接实例化,menu类有三个子类:
ContextMenu
MainMenu
MenuItem

ContextMenu类表示快捷菜单,在控件或窗体区域点击鼠标右键时显示。快捷菜单常用于组合窗体mainmenu类的菜单项
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值