我正在尝试创建一个程序,该程序具有多个控件层,所有控件都相互叠加。我这样做的方式是我有一个windows.forms.panel,它是进行实际绘图的面板的容器(这样我就可以对它们进行分层)。
对于执行绘图的面板,我有一个继承自windows.forms.panel(称之为abstractPanel)的抽象类,我将对接样式设置为“fill”。它会覆盖onPaint函数,在该函数中它调用我在子节点中覆盖的抽象函数。
我遇到的问题是当我将一个从abstractPanel继承的控件添加到容器时它没有显示(onPaint函数没有被调用)。
有什么建议吗?
从Java的角度来看,我是否过多地考虑过这个问题并且需要使abstractPanel不抽象?
答案 0 :(得分:1)
我遇到了与Visual Studio WinForms设计器类似的问题:如果表单继承自抽象类,它根本不会在设计器中显示。我不知道为什么,但由于某种原因,Windows Forms并不“喜欢”抽象类。尝试删除abstract
关键字,如果这样做,则不会更改功能。