比如我已经用GDI画了一个矩形,坐标范围是(100,100)至(400,400)鼠标移至(200,200)的位置,鼠标位置肯定在该矩形内。在GDI+中我如何取得该鼠标位置所在的矩形。如果把所有已画的矩形保存起来,然后循环判断,这样会很费资源。.NET中有自带的方法吗?
大家都是怎样处理的。在线。

解决方案 »

  1.   

    好像只能搞个类,把每个形状的信息和bounds包起来,然后遍历用Rectangle的IntersectsWith方法来判断了。
      

  2.   

    IntersectsWith这个是确定两个矩形是否相交。
    我现在是要根据点来找矩形。
      

  3.   

            Rectangle rect = new Rectangle(100, 100, 400, 400);
            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);            e.Graphics.DrawRectangle(Pens.Blue, rect);
            }        private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (rect.Contains(new Point(e.X, e.Y)))
                {
                    MessageBox.Show("点在矩形内");
                }
            }