将位置数组与按钮位置

时间:2015-05-25 15:51:51

标签: c# wpf

我有ArrayList个点,每个点都有值X,Y为鼠标坐标,我有一个按钮我想比较按钮位置和数组位置,以检查按钮是否位于此位置或不。尝试此代码时无法做任何事情,因为按钮的位置在ArrayList中具有不同的点值,如何检查此按钮是否位于点范围内?

这是我的代码

 for (int i = 0; i < _points.Count; i++)
     {
     if (_points.Contains(button1.Location))
       {
                    button1.PerformClick();
       }
     }

2 个答案:

答案 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;
      }
    }