绘制多边形单击区域

时间:2013-12-21 03:06:04

标签: c# click picturebox

Drawing a polygon according to the input coordinates

我从这里得到了一些代码,我只是采取..

void pictureBox1_Paint(object sender, PaintEventArgs e) {
    e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;

    List<Point> polyPoints = new List<Point>();
    polyPoints.Add(new Point(30, 30));
    polyPoints.Add(new Point(36, 105));
    polyPoints.Add(new Point(66, 105));
    polyPoints.Add(new Point(72, 66));

    using (SolidBrush br = new SolidBrush(Color.FromArgb(100, Color.Yellow)))
    {
        e.Graphics.FillPolygon(br, polyPoints.ToArray());
    }
    e.Graphics.DrawPolygon(Pens.DarkBlue, polyPoints.ToArray());
}

注意:SmoothingMode使用标题using System.Drawing.Drawing2D

然后我遇到了点击区域的问题,我只想看到可见区域的点击区域,在这种情况下picturebox1的大小为1366 x 768

the example polygon in picturebox

这是picturebox的示例,我希望红色区域可以点击,灰色不是可点击的区域
默认情况下,框中的所有区域都是可点击的

1 个答案:

答案 0 :(得分:0)

您是否查看了PictureBox上的文档?

我正在观察它,似乎有很多方法可以调整PixtureBox对象的各个方面。看一下使用DefaultSize Property或设置Size属性。在任何一种情况下,您都必须将大小包装在Size对象中并设置相应的PictureBox大小属性。

如:

pictureBox1.Size = new Size(xSize, ySize);

pictureBox1.DefaultSize = new Size(xSize, ySize);
相关问题