0

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

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

我正在使用 WindowsForms、PictureBox 和 Graphics.DrawPolygon 来绘制多边形。

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

提前致谢。

4

2 回答 2

0

请参阅:在 Windows 窗体应用程序 (.net) 中单击图像的 X/Y 坐标

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

于 2013-04-04T20:46:37.907 回答
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.
        }
    }
}
于 2013-04-04T21:36:17.127 回答