码迷,mamicode.com
首页 > Windows程序 > 详细

2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生

时间:2016-10-15 19:43:42      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序

1、主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中有各字框体的new创建语句,因此:

2、依次执行各子窗体InitializeComponent函数

3、主窗体new事件结束后,并不创建任何窗体或子窗体,也就没有任何Load事件发生。直到主窗体Show事件。

4、主窗体Show事件后,顺序执行各子窗体Load事件,注意!!并不是先执行主窗体Load事件!

5、最后才执行主窗体Load事件

结论:主窗体的InitializeComponent事件早于子窗体InitializeComponent事件发生,但子窗体Load事件早于主窗体Load事件发生。

推论:

1、子窗体selechanged等事件在子窗体的Load事件中可能触发,此时主窗体Load事件尚未执行,可能会有空值情况出现

2、等到主窗体Load事件执行时,往往会给子窗体赋值,又可能会触发子窗体selecange事件发生,注意是否会有空值出现

3、主窗体Load事件中为DV、Grid等窗体绑定数据源时,也会触发这些控件的selecanged事件,以至其它关联控件的selechagne事件发生,注意是否有空值出现

 

2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生

标签:

原文地址:http://www.cnblogs.com/mol1995/p/5965008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!