想请教一下WinForm 中的 Form_Load函数和他的构造函数 public Form()有什么区别?

kozuien 2009-01-19 10:09:47
不都是用来初始化FORM中的组件么?
...全文
387 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Conan_柯南 2010-05-01
  • 打赏
  • 举报
回复
这个问题如果你有开发自定义控件的经历就很好理解,
public Form()所谓的构造函数。 如果是一个控件的话,它加载到Form里的时候就会进行初始化了,你在属性窗口中每设置一个属性变换操作都会重新调用一下构造函数,然后FormLoad还在睡梦中,它要在这个控件运行时才调用。
Form_Load所谓的窗体加载函数 ,在窗体加载时调用
也就是说先把Form_Load事件通过public Form()构造函数进行登记注册,然后才能触发该事件。
duzhonghua 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gisfarmer 的回复:]
public Form()所谓的构造函数。
Form_Load所谓的窗体加载函数
完全两码事!
[/Quote]

同意~~~
sweetch 2009-01-19
  • 打赏
  • 举报
回复
先运行public Form()构造函数
再运行Form_Load()加载窗口控件函数
j45kp 2009-01-19
  • 打赏
  • 举报
回复
up
jacklee_008 2009-01-19
  • 打赏
  • 举报
回复
WinForm 中的 Form_Load函数和他的构造函数 public Form()有区别:
(1): public Form():程序入口,它的InitializeComponent()
做了许多初始化的工作,所以Load才能成为一个事件,InitializeComponent为你的程序作了必要的初始化工作
(2) Form_Load:装载窗口事件, 是窗体启动时触发的事件
总的来讲:
程序先执行InitializeComponent(); 后执行Form1_Load,InitializeComponent是进行一系列的初始化,Form1_Load是在窗体装载时发生的一个时间。一般写程序你把自己要初始化的东东可以放在Form1_Load中,当然也可以在InitializeComponent中,那就要重载InitializeComponent了。
jacklee_008 2009-01-19
  • 打赏
  • 举报
回复
WinForm 中的 Form_Load函数和他的构造函数 public Form()有区别:
(1): public Form():程序入口,它的InitializeComponent()
做了许多初始化的工作,所以Load才能成为一个事件,InitializeComponent为你的程序作了必要的初始化工作
(2) Form_Load:装载窗口事件, 是窗体启动时触发的事件
总的来讲:
程序先执行InitializeComponent(); 后执行Form1_Load,InitializeComponent是进行一系列的初始化,Form1_Load是在窗体装载时发生的一个时间。一般写程序你把自己要初始化的东东可以放在Form1_Load中,当然也可以在InitializeComponent中,那就要重载InitializeComponent了。
zgke 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gisfarmer 的回复:]
public Form()所谓的构造函数。
Form_Load所谓的窗体加载函数
完全两码事!
[/Quote]

public Form() 构造这个类用的

Form_Load 是加载事件
CsToD 2009-01-19
  • 打赏
  • 举报
回复
2楼正解
public Form()
{
this.Load+=Form_Load;
}
jacklee_008 2009-01-19
  • 打赏
  • 举报
回复

public Form1()
{
InitializeComponent();//全部是用来初始化窗体控件的代码
}


sprc_lcl 2009-01-19
  • 打赏
  • 举报
回复
Form_Load
在public Form后

下面是我的理解..等于
public Form()
{
InitializeComponent();
Form_Load();
}
优途科技 2009-01-19
  • 打赏
  • 举报
回复
public Form()所谓的构造函数。
Form_Load所谓的窗体加载函数
完全两码事!
DNN-2017 2009-01-19
  • 打赏
  • 举报
回复
Form()是窗体类的构造方法,有来初始化类的字段属性(其中包括它拥有控件类),和其他构造方法一样他是一个窗体实例产生时最先执行的
Form_Load窗体加载方法,用来图形界面,这时候可以设置一些窗体属性,当然在构造函数里也可以,
abcyzq 2009-01-19
  • 打赏
  • 举报
回复
顶。
A0155 2009-01-19
  • 打赏
  • 举报
回复
......
lovelan1748 2009-01-19
  • 打赏
  • 举报
回复
到处看看
Code従業員 2009-01-19
  • 打赏
  • 举报
回复
Form_Load函数包含在构造函数中
rightyeah 2009-01-19
  • 打赏
  • 举报
回复
public Form是类的构造函数,负责对类成员进行初始化工作。比如所有控件的创建、指定大小、位置等等。习惯上构造函数会调用InitializeComponent来实现窗体的初始化工作(初始化为设计模式中指定的状态)。

Form_Load是类的自定义方法,用来响应form的Load事件,该事件在窗体初始化完毕(包括所有控件初始化完毕),并且尚未显示的时候触发

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧