0

从我读过的其他 SO 问题来看,似乎使用对 onLoad 的覆盖是一种更好的方法,而不是在构造函数中处理初始方法。

当我在代码中设置断点时,我发现 onLoad 方法被命中但构造函数没有被命中。我的表单显然打开得很好,所以我想知道是否有人能够解释这些发生的顺序是什么?

这对于自定义加载事件也是一样的

编辑:白痴是我的断点没有被命中的原因,但我仍然对何时调用加载覆盖感到有点困惑?

4

1 回答 1

5

OnLoad 方法/事件在第一次显示表单时执行。

当您使用 new 关键字创建 Form 类的新实例时,始终会调用构造函数。

通常认为最佳实践是在构造函数中进行所有表单初始化,而不是在 OnLoad 期间。如果您有多个构造函数并希望在所有构造函数中执行一些常见的初始化任务,请将它们放在单独的方法中并从构造函数中调用它。确保 InitializeComponent() 作为构造函数的一部分被调用。只有当您需要重新定位表单或其他内容时,才应真正使用 OnLoad。

于 2012-12-13T13:33:48.240 回答