C# 加载,OnLoad,构造函数

C# 加载,OnLoad,构造函数,c#,winforms,onload-event,C#,Winforms,Onload Event,从我读到的其他SO问题来看,似乎使用重写onLoad是一种更好的方法,而不是在构造函数中处理初始方法 当我在代码中加入断点时,我发现onLoad方法被命中,但构造函数没有。。我的表格很明显被打开了,所以我想知道是否有人能够解释这些事情发生的顺序 对于自定义加载事件也是如此 编辑:之所以我的断点没有被击中,是因为我很愚蠢,但我仍然有点困惑,什么时候调用加载重写?当表单第一次显示时,会执行OnLoad方法/事件 当您使用new关键字创建窗体类的新实例时,始终会调用构造函数 通常认为最好的做法是在构造

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

当我在代码中加入断点时,我发现onLoad方法被命中,但构造函数没有。。我的表格很明显被打开了,所以我想知道是否有人能够解释这些事情发生的顺序

对于自定义加载事件也是如此


编辑:之所以我的断点没有被击中,是因为我很愚蠢,但我仍然有点困惑,什么时候调用加载重写?

当表单第一次显示时,会执行OnLoad方法/事件

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


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

当表单第一次显示时,将执行OnLoad方法/事件

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


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

您能提供一个代码示例吗?它需要吗?这不是特定于代码的问题,我只是想知道加载覆盖在什么时候被调用(即当表单被标记为已创建或类似时),可能是@JimFell的副本-我很好奇,你有什么理由试图将4年前的问题作为该问题的副本关闭?你能提供一个代码示例吗?它需要一个吗?它不是特定于代码的,我只是想知道在什么时候调用加载覆盖(即当表单被标记为已创建或类似时)可能是@JimFell的副本-我很好奇,你有什么理由试图将4年前的问题作为该问题的副本关闭?嗯,在我的例子中,我的表单上有多个选项卡,并且让所有这些选项卡同时初始化是不必要的(用选项卡初始化表单将初始化所有选项卡)。很高兴知道这些事件的确切调用时间,尽管如此,谢谢!嗯,在我的例子中,我的表单上有多个选项卡,并且让所有这些选项卡同时初始化是不必要的(使用选项卡初始化表单将初始化所有选项卡)。很高兴知道这些事件的确切调用时间,尽管如此,谢谢!