C# InitializeComponent()方法案例详解

作者:未来无限 时间:2022-06-12 03:07:06 

在每一个窗体生成的时候,都会针对于当前的窗体定义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方法,您会发现窗体对象的初始化都是在那里做的。

来源:https://blog.csdn.net/qq_30725967/article/details/85333894

标签:C#,InitializeComponent()
0
投稿

猜你喜欢

  • Java Swing实现坦克大战游戏

    2021-12-16 21:04:03
  • java web实现简单留言板功能

    2021-10-29 17:22:31
  • java导出csv格式文件的方法

    2022-07-24 20:26:36
  • Java程序员必须知道的5个JVM命令行标志

    2023-11-11 15:30:36
  • 为什么Spring和IDEA都不推荐使用 @Autowired 注解

    2023-12-08 17:54:44
  • 举例讲解Java中synchronized关键字的用法

    2023-07-01 22:20:19
  • Java学习基础之安装JDK/配置JDK环境&IEDA工具安装

    2023-02-09 13:02:40
  • java实现小球碰撞功能

    2023-04-05 19:22:41
  • 关于MVC与SpringMVC的介绍、区别、执行流程

    2023-11-28 02:25:56
  • 深入理解C++中public、protected及private用法

    2023-07-02 11:30:17
  • JAVA中使用FTPClient实现文件上传下载实例代码

    2021-08-17 20:45:05
  • 详解SpringBoot修改启动端口server.port的四种方式

    2022-03-10 20:28:48
  • Java中的interrupted()和isInterrupted()

    2023-06-17 22:16:31
  • Java Stream流零基础教程

    2023-08-15 19:33:20
  • java字符串相似度算法

    2023-11-26 12:33:25
  • SpringBoot后端上传文件类型检测方式

    2021-07-02 05:00:04
  • SpringBoot参数校验Validator框架详解

    2023-09-22 07:08:40
  • Maven学习----Maven安装与环境变量配置教程

    2021-12-04 08:20:25
  • Java设计模式之java备忘录模式详解

    2023-08-22 19:31:07
  • JAVA JVM面试题总结

    2021-07-12 04:55:13
  • asp之家 软件编程 m.aspxhome.com