private void FormXGIS_MouseClick(object sender, MouseEventArgs e) { // 记录点击位置的XY坐标,并作为类实例参数赋予一个对象 GISVertex onevertex = new GISVertex((double)e.X, (double)e.Y); // 定义一个最小距离,为后面作为判断 double mindistance = Double.MaxValue; int findid = -1; for (int i = 0; i < points.Count; i++) { double distance = points[i].Distance(onevertex); if (distance < mindistance) { mindistance = distance; findid = i; } } if (mindistance > 5 || findid == -1) { MessageBox.Show("没有点实体或者鼠标点击位置不准确"); } else { MessageBox.Show(points[findid].Attribute); } }
时间: 2023-05-19 14:01:33 浏览: 104
这是一个 C# 语言的代码片段,用于处理鼠标点击事件。它会记录点击位置的坐标,并将其作为参数传递给一个 GISVertex 对象。然后,它会遍历一个点集合,计算每个点与点击位置之间的距离,并找到距离最近的点。如果最小距离大于 5 或者找不到点实体,则会弹出一个消息框。否则,它会弹出一个消息框,显示该点的属性。如果您需要更多的帮助,可以提供更具体的问题。
阅读全文