【发布时间】:2013-03-27 22:07:00
【问题描述】:
我有一个非常简单的问题,但我还没有找到一个简单的解决方案。
我正在创建一个具有边框和圆角的自定义面板。我希望能够覆盖填充,所以无论用户放置什么,我都会为其添加一些值,这样它就不会与边框重叠。我希望能够在运行时和在设计时。因此,例如,如果我将一个控件(如 PictureBox)停靠在我的面板中,它就不会在边框上绘制。
我试图简单地覆盖填充属性,但出现以下错误:
cannot override inherited member 'System.Windows.Forms.Control.Padding.set' because it is not marked virtual, abstract, or override
有人对此有(简单的)解决方法吗?
【问题讨论】:
-
是否需要覆盖?你试过
base.Padding = x吗? -
您在设计时或运行时需要这个,还是两者兼而有之?
-
@David 这在运行时有效,但在设计时无效
-
@JohnWillemse,如果可能的话。我将编辑我的问题。
-
对于运行时,您可以覆盖 OnPaddingChanged,但这在设计时不起作用。
标签: c# winforms overriding padding