如何使程序检查图片框与另一个控件相交?

时间:2013-12-23 15:15:25

标签: c# picturebox

我想知道如何检查图片框是否与表单上的其他内容相交。我知道一个矩形:

if (rectangle.IntersectsWith(otherRectangle))

但是(我知道,不可能)我想像上面那样做:

if (pictureBox1.IntersectsWith(pictureBox2))

任何人都知道检查的好方法吗?此外,我正在制作一个游戏,你可以用箭头键移动图片框1,并与空间跳跃。谢谢!

2 个答案:

答案 0 :(得分:1)

如果两个图片框在同一个父母中,则:

pictureBox1.DisplayRectangle.IntersectsWith(pictureBox2.DisplayRectangle)

答案 1 :(得分:0)

如果两个控件是同一表单或容器的子控件,那么您可以通过获取Bounds并调用IntersectsWith来检查控件是否重叠:

if (pictureBox1.Bounds.IntersectsWith(pictureBox2.Bounds))

DisplayRectangle是错误的访问属性;对于PictureBox,它返回(0,0,Width,Height),因此如果Width和Height非零,IntersectsWith将始终返回true。