zoukankan      html  css  js  c++  java
  • 界面主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序

    主窗体,子窗体的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

  • 相关阅读:
    Vim快捷键键位图大全
    Docker快速入门
    针对base64编码和URIEncode的一点研究
    JavaEE初学笔记之Servlet与Tomcat
    【编码】彻底弄懂ASCII、Unicode、UTF-8之间的关系
    React的世界观及与Vue之比较
    彻底搞懂CSS文本、空白换行问题
    Vue实现懒加载的基本思路
    CSS中的px与物理像素、逻辑像素、1px边框问题
    Vue插值文本换行问题
  • 原文地址:https://www.cnblogs.com/mol1995/p/8004661.html
Copyright © 2011-2022 走看看