检测鼠标单击多边形节点

时间:2013-04-04 20:45:21

标签: c# winforms polygon system.drawing

我正在创建一个WindowsForms应用程序。在这个应用程序中,我需要使用多边形顶点(节点)坐标的数组绘制多边形。

当用户点击polygone的一个节点时,我需要检测选择了哪个节点,建议用户删除该节点。

我正在使用WindowsForms,PictureBox和Graphics.DrawPolygon来投放多边形。

如果用户点击其中一个节点,我该如何检测?是否有比WindowsForm和PictureBox更适合绘制多边形的方法?

提前致谢。

2 个答案:

答案 0 :(得分:0)

请参阅:X/Y Coordinates of Click on an Image in a Windows Forms Application (.net)

您需要获取坐标,然后针对多边形进行测试。

答案 1 :(得分:0)

您必须通过遍历节点点来检查点击图片框的时间,并测试它们是否是用户点击的位置。

Point[] listOfNodes = new Point[1];
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
    foreach (Point item in listOfNodes)
    {
        if (item == e.Location)
        {
            //The node was clicked.
        }
    }
}