【发布时间】:2014-03-27 09:41:27
【问题描述】:
在 Visual Studio C# Windows 窗体应用程序中,类构造函数和窗体加载有什么区别?
【问题讨论】:
-
一个类可能有多个构造函数,它们采用不同的参数,一个表单加载,只是简单地将表单加载到屏幕上,并在表单加载时加载
标签: c# forms constructor load
在 Visual Studio C# Windows 窗体应用程序中,类构造函数和窗体加载有什么区别?
【问题讨论】:
标签: c# forms constructor load
简单地说,当类被实例化时调用构造函数,就像所有构造函数一样,而页面加载则在第一次显示表单时调用。
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.load(v=vs.110).aspx
【讨论】:
一个类可能有多个构造函数,它们接受不同的参数,一个表单加载,只是简单地将表单加载到屏幕上,并在表单加载时加载。
如果需要,您可以从表单加载中实例化一个类。
【讨论】:
这个问题对我来说有点奇怪,你不能拿苹果和橘子比较。
Constructor 是一个在实例化对象时将执行的方法,而 Form.Load 是一个事件。
btw Form.Load 只会在表单即将渲染到屏幕之前触发;通常Form.Show 会导致Form.Load 事件。
【讨论】:
Form.onLoad 是一个事件,当表单显示在屏幕上时发生。可以将事件处理程序附加到此事件并在其中做出反应。
构造函数实例化(表单)类,这是一个没有任何返回值(即使没有 null)的公共方法。 它必须(大部分)在任何“show”或“showdialog”方法之前调用,以便可能发生“onLoad”事件(实际上任何“show”相关方法都是原因,为什么会触发“onLoad”事件) .
如果不调用构造函数,则大多数情况下 onLoad 将永远不会发生(因为您无法制作 null.showdialog 例如)。
还应该记住,表单的句柄在 ctor 中可能还不可用,当事件“onLoad”发生时它肯定已经创建了。
【讨论】:
构造函数和表单加载完全不同
【讨论】: