易混淆的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的左上角重合

 

转载于:https://www.cnblogs.com/mol1995/p/8011410.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值