C# 如何从以前创建的表单继承所有属性和控件以及代码?
如果我不得不用另一种方式说,我想要的是创建一个表单,它将作为我的其他表单的骨架 我想要一个表单作为其他10个表单的基础,具有相同的起始功能和外观。相同控件、这些控件的每个事件的代码和属性等C# 如何从以前创建的表单继承所有属性和控件以及代码?,c#,visual-studio,inheritance,C#,Visual Studio,Inheritance,如果我不得不用另一种方式说,我想要的是创建一个表单,它将作为我的其他表单的骨架 我想要一个表单作为其他10个表单的基础,具有相同的起始功能和外观。相同控件、这些控件的每个事件的代码和属性等 如何实现这一点?您可以创建不同的表单,但使用共享的UserControl填充每个表单,这允许您定义共享的UI和功能。VisualStudio对创建用户控件以及在其他表单中使用它们提供了一流的支持。但是,这不允许您定义仅为顶级表单定义的行为或外观 同样可以创建从VisualStudio生成的form类继承的类。
如何实现这一点?您可以创建不同的表单,但使用共享的
UserControl
填充每个表单,这允许您定义共享的UI和功能。VisualStudio对创建用户控件以及在其他表单中使用它们提供了一流的支持。但是,这不允许您定义仅为顶级表单定义的行为或外观
同样可以创建从VisualStudio生成的form类继承的类。它将继承所有控件、事件处理程序和属性 为了可重用性,我通常只使用UserControl,但您可以从一个表单继承另一个表单:
public partial class Form2 : Form1
{
public Form2()
{
InitializeComponent();
}
}
首先调用基窗体(Form1)上的构造函数,然后调用子窗体(Form2)上的构造函数
在运行时,您可以在子窗体上看到来自基窗体的控件,以及仅针对子窗体的任何其他控件。附加到基窗体上定义的控件的事件、属性等都会传递到子窗体
设计器甚至会显示基本窗体的控件,尽管它们已锁定,并且在不直接编辑基本窗体的情况下无法移动或删除(请参见基本窗体中定义的控件上的小图标):