C#窗体设计中InitializeComponent的用法

本文介绍C#窗体设计中InitializeComponent的用法。

  1. 操作流程
    1.1. InitializeComponent基本概念
    在每一个窗体生成的时候,都会针对于当前的窗体定义InitializeComponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。
    //位于.cs文件之中的InitializeComponent()方法
    public Form011()
    {undefined
    InitializeComponent();
    }
    在每一个Form文件建立后,都会同时产生程序代码文件.CS文件,以及与之相匹配的.Designer.CS文件,业务逻辑以及事件方法等被编写在.CS文件之中,而界面设计规则被封装在.Designer.CS文件里,下面代码为.Designer.CS文件的系统自动生成的脚本代码。
    namespace Example_FormTest
    {undefined
    partial class frmStudent
    {undefined
    ///
    /// 必需的设计器变量。
    ///
    private System.ComponentModel.IContainer components = null;
    ///
    /// 清理所有正在使用的资源。
    ///
    /// 如果应释放托管资源,为 true;否则为 false。
    protected override void Dispose(bool disposing)
    {undefined
    if (disposing && (components != null))
    {undefined
    components.Dispose();
    }
    base.Dispose(disposing);
    }
    #region Windows 窗体设计器生成的代码
    ///
    /// 设计器支持所需的方法 - 不要
    /// 使用代码编辑器修改此方法的内容。
    ///
    private void InitializeComponent()
    {undefined
    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方法,您会发现窗体对象的初始化都是在那里做的。
    1.2. InitializeComponent用法
    简而言之,就是C#窗体界面中设计的按钮、文本框等控件,再程序启动时候需要初始化和创建实例,就用到了InitializeComponent方法,通常该方法定义里面的程序时不需要手动修改的,会根据窗体控件的参数自动生成代码,如下所示:
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光怪陆离的节日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值