在每一个窗体生成的时候,都会针对于当前的窗体定义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()方法相关推荐

  1. 软件测试作业1:正确理解原型方法对软件生命周期不同阶段的支持

    作业1 1.正确理解原型方法对软件生命周期不同阶段的支持,分别给出:辅助或代替分析阶段:辅助设计阶段:代替分析与设计阶段:代替分析.设计和实现阶段:代替全部开发阶段所对应的开发活动执行时间顺序. 答: ...

  2. 深入理解 main 方法

    目录 深入理解 main 方法 public static void main(String[] args) { } 注意事项 深入理解 main 方法 public static void main ...

  3. Java理解误区——方法的重载是多态性的一种体现?

    理解误区 学习的第一门语言就是Java了,还记得在初学Java的时候,还是遇到了很多的困难,很多的知识点还不能理解.提到Java的面向对象,相信很多人都会印象深刻吧,但是对于初学者来说,理解起来确实还 ...

  4. 深入理解main方法

    文章目录 1. 深入理解 main 方法 2. 在 Idea 下如何传递参数 1. 深入理解 main 方法 解释main方法的形式:public static void main(String[] ...

  5. java—— 深入理解contains方法

    深入理解contains方法 如下代码: public static void main(String[] args) {Collection c=new ArrayList();//在集合c中添加两 ...

  6. 理解main方法语法

    目录 1. 深入理解 main 方法 2.特别提醒: 3.案例演示 1. 深入理解 main 方法 main方法的形式: public static void main(Stringll args){ ...

  7. Java笔记017-类变量和类方法、理解main方法语法、代码块、单例设计模式、final关键字

    目录 面向对象编程(高级部分) 类变量和类方法 类变量-提出问题 传统方法解决 问题分析: 类变量快速入门 类变量内存布局 什么是类变量 如何定义类变量定义语法: 如何访问类变量 定义语法: 类变量使 ...

  8. 快速理解工厂方法模式,及其在源码中的应用

    (一).什么是工厂方法模式 有一个总工厂负责生产各种电视产品,此时来了一个生产小米电视的需求,就会分配出一个制作小米电视的工厂,然后就能用该工厂生产小米电视了. 上面这种通过工厂来实例化类的方式抽象到 ...

  9. 谈谈我对强迫症的理解 解决方法

    谈谈我对强迫症的理解 & 解决方法 一.我对强迫症的理解 ​ 运动的物体具有惯性,而思考就是一个意识流的运动,因此思考也具有惯性. ​ 然而独自地不停地思考,就像是一辆刹不住车的汽车,速度越来 ...

最新文章

  1. 大厂程序媛的特殊烦恼:男朋友工资只有自己的60%,天天阴阳怪气!
  2. Android线程模型和AsyncTask
  3. Eclipse 无限编译Invoking 'Maven Project Builder'导致卡主
  4. 划痕麻点检测程序_精密外观检测机设计
  5. 最近看的电影(乱谈)
  6. Java笔记-RabbitMQ中生产者端confirm模式
  7. Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放
  8. 别扭!iPhone XI Max渲染图曝光:后置超大方形3摄
  9. MySQL数据类型不一致_数据类型不一致导致的SQL不走索引
  10. 吊炸天!15岁成杀人犯,监狱里学编程,37岁获释后年薪70万
  11. PHP compact
  12. 嵌入式Linux培训开发
  13. 2020年系统分析师下午论文真题
  14. cearte-react-app中craco中优雅引入svg【自定义宽、高、颜色,仅需5步】
  15. macOS 上安装 PECL
  16. Android用MediaCodec将相机预览帧编码成MP4视频
  17. 为什么 K8s 在阿里能成功(转)
  18. 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等
  19. springboot+校园新闻数据化系统-计算机毕设 附源码99293
  20. 如何使用gcore工具获取一个core文件而不重启应用?

热门文章

  1. 2022/3/8——手把手配置一台崭新的华为交换机配置堆叠(附使用console线配置交换机方法)
  2. 亚马逊云科技re:Inforce全球安全大会引领云上安全新风向
  3. Python爬虫再也不怕封ip了
  4. 前端学习第二弹:target属性
  5. elemnetUI 关于el-button禁用属性的小坑
  6. deny of sb sth_Deny/refuse与“拒绝”的用法
  7. Android:Handler学习总结
  8. 使用css修改input框中checkbox的样式
  9. Essential COM
  10. 阅读作业二之waterfall——洪虹