在VS开发中,Windows Form中的构造函数跟Form1.Load()有什么区别和联系

1、任何一个类都会有构造函数,即使你没有写编译器也会隐式生成默认无参数构造函数,要调用一个类的任何方法(包括静态方法,静态方法会实例化一次静态构造),都会先调用构造函数(一个类的静态实例化在整个进程周期只调用一次)。
2、From窗体也是一个类,因此会先调用构造函数,而构造函数中的InitializeComponent()方法注册了Load事件,因此当触发Load事件时就会调用该事件注册的所有委托方法(
如: private void Form1_Load(object sender, EventArgs e)
),因此只要你明白构造函数、事件、委托等这些基本原理,那就懂得这些原理了。

3、如果VS没有提供相应设计器,都需要手写编写这些代码,那你就更容易懂得这些原理,而自动生成这些代码都是设计的功劳,所以很多初学者没有深入学习,每天都只是拖拖控件,双击控件生成相应事件,当遇到一些问题时总是无法解决,即使是简单的一些界面操作,设计器也可能会发生问题导致不正确的代码。以前的VS2003的From默认把所有代码都放在一文件里,但VS2005以后则把自动生成的代码与人工编写的代码分开存入不同的文件,这样更好方便管理代码,但很多初学者就不会去打开自动生成代码的文件,甚至不知道有那些代码。

简单一点理解:

         就是Windows Form中的构造函数是用来初始化窗体实例的,只有有了窗体实例,才会调用Form1.Load()事件,而构造函数中运行InitializeComponent() 方法时,VS为InitializeComponent()产生了如下代码:
...
this.Load += new System.EventHandler(this.Form1_Load);这时候才会生成Form1.Load(),也就是说,在form窗体中,是需要等到其他控件都初始化之后才加载Form1.Load()的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值