欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# InitializeComponent()方法案例详解

程序员文章站 2022-06-15 18:35:52
在每一个窗体生成的时候,都会针对于当前的窗体定义initializecomponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。//位于.cs文件之中的initializecompo...

在每一个窗体生成的时候,都会针对于当前的窗体定义initializecomponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。

//位于.cs文件之中的initializecomponent()方法
public form011() {
    initializecomponent();
}

在每一个form文件建立后,都会同时产生程序代码文件.cs文件,以及与之相匹配的.designer.cs文件,业务逻辑以及事件方法等被编写在.cs文件之中,而界面设计规则被封装在.designer.cs文件里,下面代码为.designer.cs文件的系统自动生成的脚本代码。

namespace example_formtest
{
partial class frmstudent
{
/// 
/// 必需的设计器变量。
/// 
private system.componentmodel.icontainer components = null;
/// 
/// 清理所有正在使用的资源。
/// 
/// 如果应释放托管资源,为 true;否则为 false。
protected override void dispose(bool disposing)
{
if (disposing && (components != null))
{
components.dispose();
}
base.dispose(disposing);
}
#region windows 窗体设计器生成的代码
/// 
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// 
private void initializecomponent()
{
this.suspendlayout();
//
// frmstudent
//
this.autoscaledimensions = new system.drawing.sizef(6f, 12f);
this.autoscalemode = system.windows.forms.autoscalemode.font;
this.clientsize = new system.drawing.size(292, 273);
this.name = “frmstudent”;
this.text = “学生信息”;
this.mouseclick += new system.windows.forms.mouseeventhandler(this.frmstudent_mouseclick);
this.keypress += new system.windows.forms.keypresseventhandler(this.frmstudent_keypress);
this.resumelayout(false);
}
#endregion
}
}

在代码之中,可以很容易发现initializecomponent()方法和dispose()方法,前者为界面设计的变现内容,后者为表单释放系统资源时候执行编码。

initializecomponent()方法反映了窗体设计器中窗体和控件的属性。通常不会在世界上个文件中修改代码。如果更改initializecomponent()方法中的相关属性参数,在窗体设计器界面上也会显示出来。

我们发现建一个c#窗体项目,在form1.cs和form1.designer.cs里分别有一个initializecomponent()函数
form1.designer.cs 里的是定义 (函数名后面有大括号包含定义内容)
form1.cs 里的是调用 (函数名后面分号结尾)
partial 表示以下创建的是分布类代码
也就是说 一个类的定义代码 可以写在两个不同的页面
form1.cs和form1.designer.cs
注意:initializecomponent()方法写在前面和后面是有区别的。initializecomponent()方法是用来初始化窗体组件的,在initializecomponent之前,窗体的各个控件还没有进行初始化,比如说窗体上有一个textboxusername,在initializecomponent之前它还只是一个textbox类型的变量而已,如果在initializecomponent之前调用这个textbox的属性或方法,就会出错。再比如说你拖上取一个textbox,它放在form的位置,textbox的一些属性。包括new 这个textbox都放在那个函数里面处理的。
我们可以看一下form.designer.cs,在那里找到initializecomponent方法,您会发现窗体对象的初始化都是在那里做的。

到此这篇关于c# initializecomponent()方法案例详解的文章就介绍到这了,更多相关c# initializecomponent()方法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!