c# - 表单构造函数与 Form_Load

标签 c# winforms constructor onload

<分区>

表单构造函数和 form_Load 方法有什么区别?

您将元素放入一个与另一个的过程是怎样的?

最佳答案

不要使用 Load 事件,重写 OnLoad() 方法。当您从表单类派生时,这确保一切都以可预测的顺序运行。您应该只将它用于需要知道实际表单大小的表单初始化。由于缩放比例或用户偏好,它可能与设计尺寸不同,并且在创建 native 窗口之前不知道实际尺寸。

在 OnLoad 方法中初始化控件是可能的,但它可能非常慢,尤其是对于 ListView 和 TreeView。如果您在构造函数中初始化它们,则可以在创建其 native Windows 控件时对它们进行批量初始化。

一个特殊的异常(exception):创建一个 MDI 子窗口应该总是在 OnLoad() 中完成,当您在构造函数中创建一个子窗口时,管道代码中有一个错误会弄乱 MDI 栏。

关于c# - 表单构造函数与 Form_Load,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2623808/

相关文章:

.net - 当已经在正确的线程中时,Form.Invoke 怎么样?

c# - 将完成的项目转换为 DLL

Java 将 BufferedReader、DataOutputStream 和 Sockets 传递给可运行线程类会导致写入流时出现套接字异常

c# - 如果.NET Framework不可用怎么办

c# - sendgrid 中的替换问题

c# - Google 搜索引擎排名正则表达式

c# - 让 WPF 控件触发和设置另一个控件的 itemssource

c# - 选择多个文件和文件夹所需的对话框 .NET

java - 在 Java 构造函数中设置数据时出现 NullPointerException

c++ - 为什么这不对转换构造函数进行隐式转换?