在每个form文件建立之后,都会同时产生对应的.cs、 .designer.cs文件;业务逻辑的代码以及事件方法等都被编写在.cs文件中;界面设计(UI)规则被封装在.designer.cs文件中。
在.designer.cs中会自动生成对界面设计的规则和控件属性等等,其中就包括dispoen(){}方法和InitializeComponent()方法。.designer.cs是窗体设计时系统自动生成的代码,无需我们写。
InitializeComponent()方法反映了窗体设计器中窗体属性和控件的属性。如果更改InitializeComponent()方法中的相关属性参数,则会在窗体设计器中体现出来。
form.cs 和 form.desginer.cs中都存在一个InitializeComponent()方法。其中form.cs中的InitializeComponent()方法是调用;form.designer.cs中的InitializeComponent()方式是定义。
在InitializeComponent()的前面和后面写代码是有区别的,InitializeComponent()是用来初始化窗体组件的。在InitializeComponent()之前,窗体的各个控件和组件都没有初始化,只是某个变量,在InitializeComponent之前调用这个控件的属性或方法,就会报错!
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent(){...}