Winforms在自定义形状控件上修复了单边框

时间:2010-05-19 05:46:09

标签: c# .net winforms gdi+ custom-controls

我创建了一个继承自.NET 3.5中面板的自定义控件

面板有一个自定义多边形边框,它来自一个pointF数组(在图表中,控件突出显示为黄色)。

图1显示了BorderStyle none的控件。图2中BorderStyle固定单

如图2所示,边界遵循边界控制的矩形。有没有办法让边框跟随多边形设置的控件的实际边界?

FYI使用GraphicsPath对象创建多边形。

使用GDI +绘制线条不起作用,因为控件会剪切线条,看起来很糟糕......

alt text http://poseidon.toop.com.au/noBorder.PNG

FIG1


alt text http://poseidon.toop.com.au/withBorder.PNG

Fig2

1 个答案:

答案 0 :(得分:1)

我会对点进行变换(放大),然后使用变换点使用Graphics.DrawPolygon(画笔,点),或者你可以进行反转(用黑色填充,然后变换(放大) )然后用黄色再画一点。