[C#.net]WinForm载入窗体完成后自动执行事件

2018/08/17 17:27
阅读数 239

一、以下是网络上可搜索到的次序

   当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件:
        System.Windows.Forms.Control.HandleCreated
        System.Windows.Forms.Control.BindingContextChanged
        System.Windows.Forms.Form.Load
        System.Windows.Forms.Control.VisibleChanged
        System.Windows.Forms.Form.Activated
        System.Windows.Forms.Form.Shown

    当应用程序关闭时,会以下列顺序引发主要表单的关闭事件:          
        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

 

在Form1_Load之后自动执行事件

可以使用事件Form1_Activated或Form1_Shown

区别在于Form1_Activated先执行。Form1_Activated可能触发多次。

Form1_Shown是所有控件加载完成后执行,只会触发一次。如果控件设置了背景图片,那么控件的背景颜色是不显示的。

 1 public bool IsActivated = false;
 2         private void Form1_Activated(object sender, EventArgs e)
 3         {
 4             textBox1.Text += "Form1_Activated" + System.Environment.NewLine;
 5             if (!IsActivated)
 6             {
 7                 IsActivated = true;
 8                 panel2.Dock = DockStyle.Fill;
 9             }
10         }
11  
12         private void Form1_Shown(object sender, EventArgs e)
13         {
14             textBox1.Text += "Form1_Shown" + System.Environment.NewLine;
15         }

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部