窗体启动时触发的事件和顺序
- From构造函数
- Load()
- Shown()
- Activated()
构造函数
初始化窗体、控件等
Load()
初始化窗体、加载窗体资源(窗体上的各种控件)
通常对窗体的赋值,都是写在 Load() 里面
触发时机
调用 Show() 或 ShowDialog() 显示窗口后,执行 Load() 函数
耗时代码:将耗时操作写在该 函数中,会影响窗口显示速度,即:耗时操作执行后才显示窗口
Shown()
Load()方法结束后,执行 Shown() 方法。
Shown:只有在首次显示窗体时(设置窗体属性 Visible=true 或 form.show()),才会引发 Shown 事件
之后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件
Activated()
窗体每次获得焦点均会触发(从别的窗体或对话框切回来时)。可触发多次
耗时代码:将耗时操作写在该 函数中,然后显示到窗口中,不影响窗口显示速度,也不会无响应,但不会立即显示,而是耗时操作执行后才显示
应用程序关闭时执行事件顺序
会以下列顺序引发主要表单的关闭事件:
System.Windows.Forms.Form.Closing
System.Windows.Forms.Form.FormClosing
System.Windows.Forms.Form.Closed
System.Windows.Forms.Form.FormClosed
System.Windows.Forms.Form.Deactivate
参考:
https://blog.csdn.net/weixin_42182713/article/details/103144434