易混淆的Window窗体与父窗体之间位置关系

时间:2023-03-10 00:02:59
易混淆的Window窗体与父窗体之间位置关系

假设有abc三个窗体,a是最外层窗体,b是a的子窗体,c是b的子窗体

c.Top,c.Left,c.Bottom,c.Location等都是相对于B的左上角点的,子窗体的位置点都是相对于父窗体而言的,同样,b.Top,b.Left,b.Location等都是相对于A的左上角点的

所以,判断C的底端是否超出了B的底端,应该这样判断

if(c.Bottom>b.Height),而不能写成 if(c.Bottom>b.Bottom),因为b.Bottom是相对于A左上角的,与c.Bottom坐标系不同,当然无法比较

设置c.Location=new Point(0, 0);其实就是将c的左上角设来与B的左上角重合