【发布时间】:2010-09-03 16:14:09
【问题描述】:
如果 UserControl 总是发生在InitializeComponent() 方法和构造函数完成之后,是否可以保证Load 事件?
【问题讨论】:
标签: .net winforms events user-controls order-of-execution
如果 UserControl 总是发生在InitializeComponent() 方法和构造函数完成之后,是否可以保证Load 事件?
【问题讨论】:
标签: .net winforms events user-controls order-of-execution
没有。 Load 事件在 Handle 创建后立即运行。构造函数可以使用需要创建物理窗口的控件的属性。这会自动触发 CreateHandle() 方法,下一个是 Load。
这种情况很少见,通常是一个错误。根据事件处理程序中正在执行的操作,它往往会有一个好的结局。应该只做需要窗口的事情。这并不常见,其他任何东西都属于构造函数。但是,构造函数尚未完成,因此您正在使用部分初始化的对象。有可能发生意外。
【讨论】: