c# 代码写public Form1()里面和写Form1_Load里面有什么区别?

我知道前者是窗体设计代码,后者是窗体启动代码,但是我总觉得写这两里面好像都一样?... 我知道前者是窗体设计代码,后者是窗体启动代码,但是我总觉得写这两里面好像都一样? 展开
 我来答
iuhz
推荐于2018-07-19 · TA获得超过111个赞
知道答主
回答量:29
采纳率:100%
帮助的人:23万
展开全部
可能实现的效果是一样的,但是他们两个有本质的区别。
public Form1() 这个是窗体的构造函数
Form1_Load 是窗体加载时触发的事件

比如你想在窗体打开后就向数据中获取一些信息然后填充到窗体中。
如果写在public Form1()中的init...方法的前面,这时,窗体中什么控件都没有,会报错的。
但是写到form_load中就没问题,因为窗体(所有的类)肯定都是先构造,然后执行某个事件(或方法)的。
窗体也是一个类,public Form1() 就是 当你写一条语句 Form1 f1=new Form1();时,new Form1()执行的语句。
再具体的还需要你自己去理解
百度网友66a8d48e5
2012-12-06 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3844万
展开全部
其实你的理解是错误的。form1其实是一个类的构造函数。该类因为是form开发,所以继承自windows.form类,而form1_load只是这个类的一个事件而已。两者出现在不同的生命周期,一般情况下根据代码的情况写到不同的地方。也就是说前者只是类的构造函数,一般将子控件写到其中,然后在init中进行初始化。而load事件在窗体加载时会自动触发,一般可以写一些初始化装态等。

虽说不局限在你写到具体的位置,但一般情况下子控件要写到构造中或者写到init事件中,而load事件就是处理加载完成后一些事件。如果异步加载子控件等等内容。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传奇勇者
2012-12-06 · TA获得超过747个赞
知道大有可为答主
回答量:1706
采纳率:75%
帮助的人:790万
展开全部
前者里面的代码只是相当于容器,执行的条件可以多样,比如可以用按钮触发,也可以判断输入值等等,甚至可以把函数名写在后面里面执行。
后面里面的代码是在打开这个窗口的时候就执行的,比如一些默认设置的信息就要放在这儿。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苍龙de链
2012-12-06 · TA获得超过4985个赞
知道小有建树答主
回答量:604
采纳率:100%
帮助的人:617万
展开全部
好问题。。
public Form1():是类的声明
Form1_Load:是窗体的一个Load事件
我的理解是执行时间不同,Form1()先执行。而且写的东西也不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanshasha113
2012-12-06
知道答主
回答量:31
采纳率:0%
帮助的人:7.3万
展开全部
public Form1():是类的构造函数,用来传递参数
Form1_Load(0:是窗体的加载事件,用来加载数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式