检测鼠标点击多边形的节点

本文关键字:节点 多边形 鼠标 检测 | 更新日期: 2023-09-27 18:07:23

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

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

我正在使用WindowsForms, PictureBox和Graphics。绘制多边形。

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

检测鼠标点击多边形的节点

您必须通过运行节点点并测试它们是否在用户单击的位置来检查何时单击了picturebox。

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.
        }
    }
}

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

你需要得到坐标,然后点击测试你的多边形