覆盖OnPaint

max*_*dbe 3 c# designer windows-forms-designer winforms

如果我重写OnPaint并在控件上绘制一个正方形,那么当我在设计器中预览时,如何让e.graphics.draw ...出现?

Jas*_*yne 6

http://msdn.microsoft.com/en-us/magazine/cc164048.aspx

http://msdn.microsoft.com/en-us/magazine/cc164145.aspx

虽然您可以手动注册Control.OnPaint来添加您的设计时UI,但您会发现覆盖OnPaintAdornments是一个更好的选择,因为它仅在控件的设计时/运行时UI被绘制后调用,让您放置锦上添花(见图20).只需将DesignerAttribute添加到ClockControl类即可完成关联:复制代码

[Designer(typeof(ClockControlDesigner))]类ClockControl:Control {...}