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

  • 相关阅读:
    stress-Linux系统压力测试工具使用及系统负载很高的几种场景测试
    execsnoop-短时进程追踪工具
    走迷宫--DFS
    马踏棋盘--dfs
    查询前缀出现的次数----字典树
    找两个质数和为偶数的两个数
    煤气灶---递归
    求合力
    hdu2089---不要62(数位DP)
    轻重匹配
  • 原文地址:https://www.cnblogs.com/mol1995/p/8004661.html
Copyright © 2020-2023  润新知