【发布时间】:2021-09-12 23:23:48
【问题描述】:
我正在尝试确定动态添加的控件是否在表单之外。
起初,我以为可以通过获取窗体的高度,以及动态添加的控件的位置来计算它。
但我注意到Control.Location 和Form.Height 没有共同点。
我认为我并不真正了解高度和位置之间的相关性。
例如:
我认为如果您的表单的高度为 500,并且我将控件放在表单的底部,它应该给出 Location: X, 500 (X 是宽度,这里不相关)。但这不正确,它向我显示例如:X, 465。我错过了什么吗?
所以我需要能够识别控件是否在表单之外,即使它只有一个像素。
我在 SO 上发现了几个类似的问题,但不幸的是,这并没有真正给我所需的答案。
那么,有没有办法做到这一点?可以计算吗?
【问题讨论】:
-
表格是什么意思?这是网页还是windows?请显示代码或创建MCVE
-
表格左上角为(0,0),x向下偏移为正,y向右偏移。控件的参考位置可以是左上角或控制中心。
-
@Liam 我没有任何代码可以给你看,这是 Windows 窗体。我唯一能说的是,假设我有 label1,我把它放在表单的底部,然后得到 label1.Location,它显示 0, 465 而不是 0, 500,这是我不明白的.
-
这是因为
Label.Location.Y + Label.Height = 500,465 + 35 = 500 -
@Dusan 嗯,可能是这样,如果我有更多信息,我会回复你,谢谢!