【问题标题】:Detecting mouse click on the node of polygone检测鼠标点击多边形的节点
【发布时间】:2013-04-04 20:45:20
【问题描述】:

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

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

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

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

提前致谢。

【问题讨论】:

    标签: c# winforms polygon system.drawing


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。我同意这个想法,而且我希望有某种已经制作好的控件,可以用来绘制多边形并具有像 polyne_SelectNode 这样的事件。可能我必须自己做:)
    • 尝试谷歌搜索控件。但我不认为你会找到很多。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 2015-08-03
      相关资源
      最近更新 更多