TextBox有巨大的界限?

时间:2016-12-10 23:54:01

标签: c# textbox picturebox

我做了一个碰撞检测功能:

private bool collision()
    {
        foreach (Control c in this.Controls)
        {
            if (c.Bounds.IntersectsWith(player.Bounds))
            {
                if(c.Name == "")
                {
                    return false;
                }
                return true;
            }
        }
        return false;
    }

然而,它的工作原理是“播放器”PictureBox(设置为自动调整大小,精灵是精确的大小:没有外围的透明像素)与TextBox发生碰撞,同时距离它很远。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

从两个控件边界(与父控件相关),推导出屏幕边界然后计算交集:

 Rectangle BoundsInScreenCoor = 
   new Rectangle(c.PointToScreen(new Point(c.Left,c.Top),new Size(c.Width,c.Height)) ;