繁体   English   中英

什么时候显示表格?

[英]When is a form displayed?

我想知道什么时候发生Form.Load事件。 MSDN中它是sais:

在第一次显示表单之前发生。

但是第一次显示表单时? 我的第一直觉是在InitializeComponent() ,但是当我尝试下面的代码时, MessageBox显示5即使该值是在InitializeComponent()之后设置的,所以它不是在InitializeComponent()之后立即执行的:

public partial class Form1 : Form
{
    private int number;

    public Form1()
    {
        InitializeComponent();

        number = 5;
    }

    public void Form_Load(object sender, EventArgs e)
    {
        MessageBox.Show(number);
    }
}

那么什么时候发生?

OnLoad是在Form上调用ShowShowDialog时调用的方法之一。

第一次调用ShowShowDialog ,将调用OnLoad并触发Load事件。 (就像OnHandleCreated等)

阅读https://msdn.microsoft.com/en-us/library/86faxx0d(v=vs.110).aspx

这解释了表单启动和关闭的顺序。

简而言之,按顺序触发了许多事件 - 例如create ... load ... activate..shown ..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM