抽象的Windows.Forms.Panel可能在C#中?

时间:2011-04-30 22:53:18

标签: c# winforms abstract-class

我正在尝试创建一个程序,该程序具有多个控件层,所有控件都相互叠加。我这样做的方式是我有一个windows.forms.panel,它是进行实际绘图的面板的容器(这样我就可以对它们进行分层)。

对于执行绘图的面板,我有一个继承自windows.forms.panel(称之为abstractPanel)的抽象类,我将对接样式设置为“fill”。它会覆盖onPaint函数,在该函数中它调用我在子节点中覆盖的抽象函数。

我遇到的问题是当我将一个从abstractPanel继承的控件添加到容器时它没有显示(onPaint函数没有被调用)。

有什么建议吗?

从Java的角度来看,我是否过多地考虑过这个问题并且需要使abstractPanel不抽象?

1 个答案:

答案 0 :(得分:1)

我遇到了与Visual Studio WinForms设计器类似的问题:如果表单继承自抽象类,它根本不会在设计器中显示。我不知道为什么,但由于某种原因,Windows Forms并不“喜欢”抽象类。尝试删除abstract关键字,如果这样做,则不会更改功能。