【发布时间】:2008-11-05 05:25:04
【问题描述】:
加载表单时,代码需要执行诸如设置数据网格、组合框、设置标题等操作。我倾向于始终使用加载事件而不是新的(构造函数)。是否有针对哪些活动最适合哪些活动的指南?
【问题讨论】:
标签: .net winforms constructor initialization onload-event
加载表单时,代码需要执行诸如设置数据网格、组合框、设置标题等操作。我倾向于始终使用加载事件而不是新的(构造函数)。是否有针对哪些活动最适合哪些活动的指南?
【问题讨论】:
标签: .net winforms constructor initialization onload-event
对 InitializeComponent 的调用会自动插入到表单/页面的构造函数中。 InitializeComponent 是自动生成的方法,
因此,与 UI 安排/修改相关的任何内容都应在此调用之后进行。当您在 Form.OnLoad 的覆盖中执行此操作时,您可以确保 UI 已准备就绪(已调用 InitializeComponent)...所以我会投票支持 UI 的 OnLoad。
创建非 UI 成员,构造函数将是我首先要看的地方。
【讨论】:
请记住,表单构造函数中的任何内容都将在表单创建时创建/执行。即在:
Form frm = new Form();
而 Load 事件中的任何内容只有在表单显示时才会发生,即 frm.Show();
【讨论】:
基本上,您希望构造函数尽可能轻量。我尝试将大部分内容放在 Load 事件处理程序中,因为 UI 元素已经创建并且此时可以使用。但是,我通常在构造函数中实例化类对象等,因为它实际上是构造对象的一部分。有时你不能把东西放在一个地方或另一个地方,但在你可以的时候,你应该把它们放在看起来最合适的地方。
【讨论】: