我有ArrayList
个点,每个点都有值X,Y为鼠标坐标,我有一个按钮我想比较按钮位置和数组位置,以检查按钮是否位于此位置或不。尝试此代码时无法做任何事情,因为按钮的位置在ArrayList
中具有不同的点值,如何检查此按钮是否位于点范围内?
这是我的代码
for (int i = 0; i < _points.Count; i++)
{
if (_points.Contains(button1.Location))
{
button1.PerformClick();
}
}
答案 0 :(得分:1)
这应该是你要找的东西:
Rectangle rect = new Rectangle(button1.Location, button1.Size);
for (int i = 0; i < _points.Count; i++)
{
if (rect.Contains(_points[i]))
{
button1.PerformClick();
}
}
但正如您所说这些点指的是鼠标位置,您需要从中减去表格位置。我会留下这部分给你。
答案 1 :(得分:0)
当我尝试此代码时,我的工作正常,感谢您的帮助
PointR s = new PointR();
s.X=button1.Location.X;
s.Y=button1.Location.Y;
foreach (PointR w in _points)
{
if (s.X >= w.X && s.Y >=w.Y)
{
button1.PerformClick();
break;
}
}