C# 如何取消表单继承

C# 如何取消表单继承,c#,winforms,inheritance,C#,Winforms,Inheritance,我有几个表单是从另一个名为“BaseForm”的表单继承而来的 现在,我想取消这段关系 我该怎么做 我试图删除我在表格中看到的唯一声明,即: public partial class Form1 : Shuki.BaseForm { ///// } 在我删除它之后,它看起来是这样的: public partial class Form1 { ///// } 但当我编译代码时,构建失败,错误如下: Form1.Dispose(bool)':未找到可重写的合适方法 我缺少什么?正如其他人在评论

我有几个表单是从另一个名为“BaseForm”的表单继承而来的

现在,我想取消这段关系

我该怎么做

我试图删除我在表格中看到的唯一声明,即:

public partial class Form1 : Shuki.BaseForm
{
/////
}
在我删除它之后,它看起来是这样的:

public partial class Form1 
{
/////
}
但当我编译代码时,构建失败,错误如下:

Form1.Dispose(bool)':未找到可重写的合适方法


我缺少什么?

正如其他人在评论中所说的那样,与其简单地删除基类,不如将其更改为
表单
。所有WinForm类都必须继承自
表单

换言之,改变这一点:

public partial class Form1 : Shuki.BaseForm
{
/////
}
为此:

public partial class Form1 : Form
{
/////
}

它抱怨
Dispose
的原因是代码中的某个地方(很可能在
Designer
文件中的另一个分部类中,它将
Dispose
方法声明为
override
。当然,重写方法是无效的,除非您有一个首先声明该方法的基类。当您删除基类时,会满足对
Dispose
的重写hod不再有效。

我认为您必须使用

public sealed class {
}

必须使用至少
System.Windows.form
继承您的表单对于要成为Windows表单的类,它必须继承Windows.form类,该类为您提供表单的视觉效果和所有功能。您之所以会收到错误,是因为Form1类中没有Dispose方法。在这种情况下,您需要实现自己的Dispose方法应该由环境自动调用,在类中实现IDisposable接口,并在Dispose方法中编写资源释放代码。找出
Shuki.BaseForm
继承的内容,并将
Form1
更改为从中继承