如何取消表单继承

时间:2015-08-18 10:36:11

标签: c# winforms inheritance

我有几种形式从另一种称为“BaseForm”的形式继承。

现在,我想取消这种关系。

我该怎么做?

我尝试删除我在表单中看到的唯一声明:

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

删除后,它看起来像这样:

public partial class Form1 
{
/////
}

但是当我编译代码时,构建失败,显示的错误是:

  

Form1.Dispose(bool)':找不到合适的方法来覆盖。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

正如其他人已经在评论中说明的那样,不是简单地删除基类,而是将其更改为Form。所有WinForm类都必须从Form继承。

换句话说,改变这个:

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

对此:

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

它抱怨Dispose的原因是因为代码中的某个地方(很可能是Designer文件中的其他部分类,它会将Dispose方法声明为override当然,覆盖方法是无效的,除非你有一个基类在第一时间声明方法。当你删除基类时,那使得Dispose方法的覆盖不再有效。 / p>

答案 1 :(得分:0)

我认为你必须使用

public sealed class {
}