我创建了一个继承自.NET 3.5中的面板的自定义控件
面板有一个自定义的多边形边框,它来自一个pointF数组(在图表中,控件突出显示为黄色) .
图1显示了BorderStyle none的控件 . 图2边框固定单边框
如图2所示,边界遵循边界控制的矩形 . 有没有办法让边框跟随多边形设置的控件的实际边框?
FYI使用GraphicsPath对象创建多边形 .
使用GDI绘制线条不起作用,因为控件剪辑线条看起来很糟糕......
alt text http://poseidon.toop.com.au/noBorder.PNG
图 . 1
alt text http://poseidon.toop.com.au/withBorder.PNG
Fig2
1 回答
我会对点进行变换(放大),然后使用变换点使用Graphics.DrawPolygon(画笔,点),或者你可以做反向(用黑色填充,然后变换(放大)然后用黄色再次画得较小 .