使用下面的代碼我可以繪製箭頭形狀的按鈕(如下所示),但是我想繪製六邊形(以下顯示爲結果圖像),以便可以使用png圖像大小175x154作爲按鈕圖像,我需要使用什麼點來繪製?我需要畫6個這樣的按鈕,我如何實現這一點?用於繪製六角形按鈕的要點
private void Parent_Load(object sender, EventArgs e)
{
// Define the points in the polygonal path.
Point[] pts = {
new Point(20, 60),
new Point(140, 60),
new Point(140, 20),
new Point(220, 100),
new Point(140, 180),
new Point(140, 140),
new Point(20, 140)
};
// Make the GraphicsPath.
GraphicsPath polygon_path = new GraphicsPath(FillMode.Winding);
polygon_path.AddPolygon(pts);
// Convert the GraphicsPath into a Region.
Region polygon_region = new Region(polygon_path);
// Constrain the button to the region.
btnExam.Region = polygon_region;
// Make the button big enough to hold the whole region.
btnExam.SetBounds(
btnExam.Location.X,
btnExam.Location.Y,
pts[3].X + 5, pts[4].Y + 5);
}
@Durga看到我的更新。請注意,我的代碼是用於「方形按鈕」的,如果您想要任何矩形的Button,請告訴我,我將在'GetPoints'方法中稍微修改一下代碼。 –
通過使用您的解決方案我得到上面的圖像,但上面兩個滑動年齡不正確,這些可以糾正和背景空白,我沒有得到,爲什麼btnexam大小會改變,你的意思是如果我需要改變大小正確? – Durga
@Durga不清楚你的意思是「兩個滑動年齡......」,因爲你的按鈕的大小變化,當然向「SizeChanged」事件處理程序添加代碼更好,因爲如果你想改變你的尺寸按鈕,'Region'會相應地爲你更新。在某些情況下,更改大小可能會**意外**,並且在這種情況下您的代碼不會被破壞。 –