[英]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
上调用Show
或ShowDialog
时调用的方法之一。
第一次调用Show
或ShowDialog
,将调用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.