当表单加载时,代码需要执行诸如setup datagrids,comboboxes,set title等操作。我倾向于总是使用load事件而不是new(构造函数)。是否有哪些指南最适合哪些活动?
答案 0 :(得分:2)
对InitializeComponent的调用会自动插入到表单/页面的构造函数中。 InitializeComponent是自动生成的方法
所以与UI排列/修改相关的任何内容都应该在之后进行此调用。当您在Form.OnLoad的覆盖中执行此操作时,您可以确保UI已准备就绪(已调用InitializeComponent)...因此我投票支持使用OnLoad for UI。
创建非UI成员,构造函数将是我第一次看到的地方。
答案 1 :(得分:1)
请记住,表单的构造函数中的任何内容都将在创建表单时创建/执行。即在:
Form frm = new Form();
只有当表单显示时才会出现Load事件中的任何内容,即 frm.Show();
答案 2 :(得分:0)
基本上,您希望构造函数尽可能轻量级。我尝试将大部分内容放在Load事件处理程序中,因为UI元素已经创建并且此时可用。但是,我通常在构造函数中实例化类对象等,因为它实际上是构造对象的一部分。有时你不能把东西放在一个地方或另一个地方,但是在你可以的时候,你应该把它们放在最合适的地方。