表单构造函数和 form_Load 方法有什么区别?
您将物品放在一个与另一个中的过程是什么?
不要使用 Load 事件,重写 OnLoad() 方法。这确保了当您从表单类派生时,一切都以可预测的顺序运行。您应该只将它用于需要知道实际表单大小的表单初始化。由于缩放或用户偏好,它可能与设计大小不同,并且在创建本机窗口之前不知道实际大小。
在 OnLoad 方法中初始化控件是可能的,但它可能非常慢,尤其是对于 ListView 和 TreeView。如果在构造函数中初始化它们,则可以在创建它们的本机 Windows 控件时对其进行批量初始化。
一个特殊的例外:创建 MDI 子窗口应始终在 OnLoad() 中完成,当您在构造函数中创建子窗口时,管道代码中有一个错误会弄乱 MDI 栏。
当您创建表单时,构造函数中的代码会立即运行,无论您是否曾经显示它。在事件中运行的代码Form.Load
是一个事件处理程序,因此您实际上可以让其他类(已订阅表单)中的代码在那里运行代码。同样,您可以(从表单)使用Form.OnLoad 方法来运行代码。
表单的 Load 事件(和 OnLoad 可重写方法,这通常是表单本身的更好选择)在表单初始化后运行。这通常有好处,因为所有表单的控件都已经构建好了,更重要的是,所有的表单布局都已经发生了。