什么时候显示表格?

Sip*_*ipo 4 c# forms winforms

我想弄清楚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);
    }
}
Run Code Online (Sandbox Code Playgroud)

那么什么时候发生?

Pat*_*man 5

OnLoad是方法之一,当你调用调用ShowShowDialog上一个Form.

您第一时间致电ShowShowDialog,OnLoad被称为你的Load事件.(就像OnHandleCreated等)