1

Load如果 UserControl 总是在方法和构造函数完成后发生,是否可以保证该事件?InitializeComponent()

4

1 回答 1

2

否。 Load 事件在 Handle 创建后立即运行。构造函数可以使用需要创建物理窗口的控件的属性。这会自动触发 CreateHandle() 方法,下一个是 Load。

这是罕见的,通常是一个错误。根据事件处理程序中正在执行的操作,它往往会有一个好的结局。应该只做需要窗口的事情。这并不常见,其他任何东西都属于构造函数。但是,构造函数尚未完成,因此您正在使用部分初始化的对象。事故是可能的。

于 2010-09-03T16:47:19.243 回答