我现在坐标轴上有N个动态点存在数组里,
我鼠标点击的时候获取了一个新的点pointA,
我现在想算出pointA靠数组里的点距离近的点,
我鼠标点击的时候获取了一个新的点pointA,
我现在想算出pointA靠数组里的点距离近的点,
解决方案 »
- 怎么通过web来呈现H3C E126A二层交换机24个端口的打开和关闭情况?
- 按钮的单击事件函数的参数 sender,为何名字随便写也行呢?
- c# serialport:串口打开一段时间后,就断开,怎么回事啊?
- 大家好,我问两个TreeView控件的小问题
- 如何在网页加一个webbrowser控件,打开网页的时候webbrowser控件可以访问一个网址,将webbrowser控件的内容写到网页上面
- access 日期字段 update时不对
- 如何做记事本的剪切 复制 粘贴
- 关于创建自己的集合类
- WinForm下 .NET Data Provider for Oracle乱码问题?
- 想问问部署应用程序到win98时都做些什么?
- 如何获得GraphicsPath中所有的point
- codeproject里是否可以持续进行版本更新?
List<XY> lxys = new List<XY>();
private void Form3_Load(object sender, EventArgs e)
{
lxys.Add(new XY(10, 10));
lxys.Add(new XY(200, 200));
lxys.Add(new XY(400, 400));
lxys.Add(new XY(800, 800));
lxys.Add(new XY(1000, 1000));
} public class XY
{
public XY(int x, int y)
{
this.x = x;
this.y = y;
}
private int x;
public int X
{
get { return x; }
set { x = value; }
}
private int y; public int Y
{
get { return y; }
set { y = value; }
} public int GetXY(int ex, int ey)
{
return Math.Abs(ex - x) + Math.Abs(ey - y); }
} private void Form3_MouseDown(object sender, MouseEventArgs e)
{
XY lsxy = null;
foreach (XY xy in lxys)
{
int x = Math.Abs(e.X - xy.X);
int y = Math.Abs(e.Y - xy.Y);
if (lsxy == null)
lsxy = xy;
else if (lsxy.GetXY(e.X, e.Y) > x + y)
lsxy = xy;
}
MessageBox.Show("鼠标点的坐标是x:" + e.X + " y:" + e.Y + "\n\r最接近的点是 x:" + lsxy.X + " y:" + lsxy.Y);
}
{
Point pp = new Point();
for (int i = 0; i < Pointes.Count; i++)
{
for (int z = 1; z < Pointes.Count; z++)
{
if (Math.Sqrt(Math.Pow(Math.Abs(p.X - Pointes[i].X), 2) + Math.Pow(Math.Abs(p.Y - Pointes[i].Y), 2)) > Math.Sqrt(Math.Pow(Math.Abs(p.X - Pointes[z].X), 2) + Math.Pow(Math.Abs(p.Y - Pointes[z].Y), 2)) ? true : false)
{
pp=Pointes[z];
}
else
{
pp=Pointes[i];
} }
}
return pp;
}帮我看看有没有什么问题?