2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生
主窗体,子窗体的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事件的发生的更多相关文章
- C# WinForm 父窗体 子窗体 传值
C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值= ...
- c#在主窗体panel 容器内嵌入另一个窗体(子窗体)的实现
主窗体: 子窗体: 把子窗体嵌入到主窗体的panel 右侧中: 代码: { public MainForm() { InitializeComponent(); } private void Clo ...
- showModalDialog-父窗体子窗体
showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口. farther.html --------------------------- ...
- (转载)c# winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
第一种方法: 用委托,Form2和Form3是同一组 Form2 C#代码 using System; using System.Collections.Generic; using System.C ...
- [转]- Winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
转自:http://heisetoufa.iteye.com/blog/382684 第一种方法: 用委托,Form2和Form3是同一组 Form2 using System; using Sys ...
- C#键盘事件处理父窗体子窗体
: : MessageBox.Show(, , Keys.F1); ...
- Winfrom子窗体刷新父窗体
本人比较懒,直接从网上转载了一篇比较合适的文章,只是文章格式有点乱,地址是 http://aspnet.blog.163.com/blog/static/17515510920121126104433 ...
- Winform子窗体刷新父窗体
调用窗体(父):Form1,被调用窗体(子):Form2方法1: 所有权法//Form1://需要有一个公共的刷新方法public void Refresh_Method(){//...} ...
- Delphi MDI程序 父窗体如何调用当前活动子窗体的函数/过程
一个MDI文本文件编辑器打开了N个子窗体子窗体的.pas文件有一些public的过程和函数我想在父窗体调用当前活动的子窗体函数我用Self.ActiveChildForm无法调用直接frmEdit.x ...
随机推荐
- DanceLink
DanceLink是一个可以解决精确覆盖和重复覆盖的搜索算法 重复覆盖就是在精确覆盖的remove等处做改变 都是十字循环链表 精确覆盖 给出一个01矩阵 要求选择几行 使每一列都有且仅有一个1 在求 ...
- zeptojs的一些别人的博客
http://www.css88.com/doc/zeptojs/ http://blog.163.com/litianyichuanqi@126/blog/static/11597944120142 ...
- composer出现Invalid credentials for ‘https://packagist.phpcomposer.com/packages.json’的错误
composer出现Invalid credentials for ‘https://packagist.phpcomposer.com/packages.json’的错误 一.总结 一句话总结:出现 ...
- dp1--乘积最大
dp1--乘积最大 一.心得 1.用excel填数组很方便 2. dp就是填表 找状态就是缩小规模 找状态转移方程就是 找状态的最后一次关系 二.题目 8782:乘积最大 查看 提交 统计 提问 总时 ...
- 178. Rank Scores
问题描述 解决方案 select sc.Score, (select count(*) from (select distinct Score from Scores ) ds where ds.Sc ...
- poj3189二分图多重匹配
题意:有一些牛和牛棚(有容量),每头牛对牛棚有喜好程度,要求每头牛都有一个棚子的情况下,找最小的喜好程度之差 题解:题意是真的恶心,wa了好久才发现没读懂,一直以为输入 的是排名,其实是牛棚标号,从1 ...
- 51nod 1102 单调栈
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1102 1102 面积最大的矩形 基准时间限制:1 秒 空间限制:1310 ...
- Jfinal整合百度富文本编辑器ueditor
ueditor配置文件ueditor.config.js修改参数serverUrl:(改为要调用的action) 后台代码 package com.sandu.mega.admin.ueditor; ...
- linux 处理端口
1.查看8080端口是否被占用: netstat -anp | grep 8080 2.查看占用8080端口的进程:fuser -v -n tcp 8080 3.杀死占用8080端口的进程: kill ...
- 如何用visual studio2013编写简单C语言程序
vc++6.0 作为经典版本,虽然已经几乎淘汰,但还是有很多的初学者在使用.但当他们使用vs2013时会发现界面和操作和vc++6.0有了极大的不同,不知该如何 操作.随着vs2013的普及,更多人使 ...