主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序
1、执行主窗体定义事件 new函数时,同时执行主窗体构造函数,默认就一个InitializeComponent函数,该函数中有各子窗体的new创建语句,因此
2、执行主窗体定义new()函数时,如 FrmXXX = new FrmXXX(),同时执行了FrmXXX.cs中的public FrmXXX() 及其内部的InitializeComponent();因而触发所有子窗体的InitializeComponent()函数
3、主窗体new事件结束后,并不创建任何窗体或子窗体,直到主窗体Show事件发生,主窗体、子窗体的Load()事件都不会发生
4、主窗体Show事件后,顺序执行各子窗体Load事件,最后才执行主窗体Load事件
结论:主窗体的InitializeComponent事件早于子窗体InitializeComponent事件发生,但子窗体Load事件早于主窗体Load事件发生。
推论:
1、子窗体selechanged等事件在子窗体的Load事件中可能触发,此时主窗体Load事件尚未执行,可能会有空值情况出现
2、等到主窗体Load事件执行时,往往会给子窗体赋值,又可能会触发子窗体selecange事件发生,注意是否会有空值出现
3、主窗体Load事件中为DV、Grid等窗体绑定数据源时,也会触发这些控件的selecanged事件,以至其它关联控件的selechagne事件发生,注意是否有空值出现
4、对窗体位置、大小调整语句只能写在Show事件之后才发挥作用
5、new()对应InitializeComponent;Show()对应Load

界面主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序的更多相关文章

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

    主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序 1.主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中 ...

  2. C# WinForm 父窗体 子窗体 传值

    C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值= ...

  3. c#在主窗体panel 容器内嵌入另一个窗体(子窗体)的实现

    主窗体:  子窗体: 把子窗体嵌入到主窗体的panel 右侧中: 代码: { public MainForm() { InitializeComponent(); } private void Clo ...

  4. showModalDialog-父窗体子窗体

    showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口. farther.html --------------------------- ...

  5. C++-理解构造函数、析构函数执行顺序

    先初始化序列中的函数调用,如果基类构造函数为非引用传递,则引起参数的拷贝构造 再: 先类内的成员构造函数(拷贝/默认),再类的构造函数:先基类,再派生类: 本文主要说明对象创建时构造函数的执行顺序,对 ...

  6. 由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序

    一.阿里巴巴笔试题: public class Test { public static int k = 0; public static Test t1 = new Test("t1&qu ...

  7. 构造代码块、构造函数、this执行顺序

    一.构造函数 对象一建立就会调用与之对应的构造函数. 构造函数的作用:可以用于给对象进行初始化. 构造函数的小细节:当一个类中没有定义构造函数时,系统会默认给该类加一个空参数的构造函数:当在类中自定义 ...

  8. 关于构造函数及参数执行顺序说明(c#)

    原文:https://blog.csdn.net/junmail/article/details/83249186 构造函数的执行顺序: 子类静态变量>子类静态构造函数>子类非静态变量&g ...

  9. laravel构造函数和中间件执行顺序问题

    今天想重构下代码结构: BaseController.php 放置公共的中间件 class BaseController { public function __construct(){ $this- ...

随机推荐

  1. lightoj1213推公式

    很容易推出来的公式ans=n^(k-1)*k*sum 然后快速幂就好了 #include<map> #include<set> #include<cmath> #i ...

  2. combobox里面显示checkbox

    看了http://www.cnblogs.com/yubinfeng/p/4463418.html这篇博客,我添加了部分代码,以便在最后获取combobox的value时可以拿到一个数组. HTML代 ...

  3. shell编程学习1

    1.shell是操作系统的终端命令行 (1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式.    (2)我们可以使用shell和操作系统.uboot等软件系统进 ...

  4. 内存保护机制及绕过方案——通过覆盖SEH异常处理函数绕过/GS机制

    通过SEH链绕过GS保护机制 ⑴.  原理分析: i.异常处理结构(SEH)处理流程如下: SEH是基于线程的,每一个线程都有一个独立的SEH处理结果,在线程信息块中的第一个结构指向线程的异常列表,F ...

  5. SVN的搭建及使用(三)用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突,重新设置用户名和密码等

    添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图: 这时候,你需要告知TortoiseSVN你的操作,如图: 加入以后,你的文件会变 ...

  6. Apache Tomcat Server Options 选项说明

    Apache Tomcat Server Options 选项说明 p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neu ...

  7. 提高看log效率的小工具

    文本型的log,比如Android的log,都是普通文本.在大家连续奋战的时候,难免看起来容易眼花. 这时候如何提高效率?我们给它搞个高亮好不好? 这就是我们要介绍的看log工具:TextAnalys ...

  8. R 语言赋值运算符:`<-` , `=`, `<<-`

    <- 与 = 间的区别 <- 与 = 在大部分情况下是应该可以通用的.并且,相对于 <<- 运算符,它们的赋值行为均在它们自身的环境层(environment hierarch ...

  9. HDU - 6333:Harvest of Apples (组合数前缀和&莫队)

    There are n n apples on a tree, numbered from 1 1 to n n . Count the number of ways to pick at most ...

  10. Bellman-Ford算法——解决负权边

    Dijkstra算法虽然好,但是它不能解决带有负权边(边的权值为负数)的图. 接下来学习一种无论在思想上还是在代码实现上都可以称为完美的最短路径算法:Bellman-Ford算法. Bellman-F ...