- Visual Studio 设计器在尝试呈现 WinForms 类时调用了哪些方法?
- 当 Winforms 类继承自另一个 WinForms 类时会发生什么?
问问题
318 次
2 回答
1
所以在实验之后我发现:
- 如果您在具有 YourClass.Designer.cs 文件的 VS Designer 中打开表单,则:
- YourClass.Designer.cs 中定义的属性/字段将是新的
- 将调用“InitializeComponent()”方法
注意:奇怪的是,您的构造函数不会被调用,您可以通过以下方式向自己证明这一点(注意,Designer 可以使用以下代码):
public class YourClass ... {
public YourClass() {
throw new Exception("Ha (1)!");
InitializeComponent();
throw new Exception("Ha (2)!");
}
}
- 如果该类没有 SomeControl.Designer.cs 文件,或者它是您在 VS 设计器中打开的类中的组件,则将调用该组件的构造函数。您可以使用上面的示例再次对此进行测试。
于 2016-05-11T15:04:04.207 回答
0
当 Winforms 类继承自另一个 WinForms 类时会发生什么?
过去,我使用 WinForm 继承来强制表单之间的标准布局 - 有点像主表单。在设计模式下,添加到父窗体的任何控件都将显示在子窗体中。您不能直接从子表单设计器编辑父表单。
于 2012-11-19T20:44:06.910 回答