我希望有人尝试解释这些之间的区别。更具体地说,示例使用场景。
我正在重构一些 Windows 窗体 代码和 Form
在 Form_Load()
中有一些代码事件,也在 protected override void OnLoad()
调用 base.OnLoad(e);
的事件现在我跟踪了它,覆盖首先触发,然后立即触发事件版本。
那么,通常使用哪一种,为什么?
最佳答案
您应该始终覆盖 OnLoad()。仅当另一个类(class)对该事件感兴趣时才适合使用该事件。这是什么事件。另一个对 Load 事件感兴趣的类是非常罕见的,只对进行窗口排列很有用。
尽管如此,Load 事件对设计者来说效果很好,而且 VB6 程序员对它非常熟悉。这并没有大错,只有当您开始继承表单并且代码没有以正确的顺序运行时,您才会遇到麻烦。
现在放入 Load 事件中的大多数代码实际上都属于构造函数。在以下情况下,您只需要 OnLoad:
关于.net - Form_Load() 'event' 或覆盖 OnLoad(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670806/