【问题标题】:Defferent between constructor and form load?构造函数和表单加载之间的区别?
【发布时间】:2014-03-27 09:41:27
【问题描述】:

在 Visual Studio C# Windows 窗体应用程序中,类构造函数和窗体加载有什么区别?

【问题讨论】:

标签: c# forms constructor load


【解决方案1】:

简单地说,当类被实例化时调用构造函数,就像所有构造函数一样,而页面加载则在第一次显示表单时调用。

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.load(v=vs.110).aspx

【讨论】:

    【解决方案2】:

    一个类可能有多个构造函数,它们接受不同的参数,一个表单加载,只是简单地将表单加载到屏幕上,并在表单加载时加载。

    如果需要,您可以从表单加载中实例化一个类。

    【讨论】:

      【解决方案3】:

      这个问题对我来说有点奇怪,你不能拿苹果和橘子比较。

      Constructor 是一个在实例化对象时将执行的方法,而 Form.Load 是一个事件。

      btw Form.Load 只会在表单即将渲染到屏幕之前触发;通常Form.Show 会导致Form.Load 事件。

      【讨论】:

        【解决方案4】:

        Form.onLoad 是一个事件,当表单显示在屏幕上时发生。可以将事件处理程序附加到此事件并在其中做出反应。

        构造函数实例化(表单)类,这是一个没有任何返回值(即使没有 null)的公共方法。 它必须(大部分)在任何“show”或“showdialog”方法之前调用,以便可能发生“onLoad”事件(实际上任何“show”相关方法都是原因,为什么会触发“onLoad”事件) .

        如果不调用构造函数,则大多数情况下 onLoad 将永远不会发生(因为您无法制作 null.showdialog 例如)。

        还应该记住,表单的句柄在 ctor 中可能还不可用,当事件“onLoad”发生时它肯定已经创建了。

        【讨论】:

          【解决方案5】:

          构造函数和表单加载完全不同

          • 构造函数是总是返回类返回类型的函数 表单加载是事件或来自对象。
          • 在创建类实例时内部调用构造函数 每次进入 form_load 签名时都会调用 from load。
          • 构造函数可以重载以获取无法从负载中获取的参数 被覆盖。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-02-24
            • 2012-08-25
            • 1970-01-01
            • 2015-06-05
            • 2013-09-09
            • 2015-02-23
            • 2019-05-19
            相关资源
            最近更新 更多