我有一个 C# MDI 应用程序,我需要在其中确定 MDI 父级的四个角中的每一个的点。我有四种不同类型的通知子窗口,我需要在四个角中的每一个中显示它们。到目前为止,由于屏幕分辨率和尺寸因显示器而异,因此我尝试让这些子窗体始终如一且精确地定位在角落中,但没有成功。部分问题是我的应用程序有一个 ToolStripMenu,它在父级的整个长度上水平运行。
当然 Parent 的左上角是最容易确定的,但是对于如何准确确定其他 3 个角有什么建议吗?
谢谢
可能不正确的语法
top_right_corner.x = top_left_corner.x + form.width
bottom_left_corner.x = top_left_corner.x
bottom_right_corner.x = top_right_corner.x
top_right_corner.y = top_left_corner.y
bottom_left_corner.y = top_left_corner.y - form.height
bottom_right_corner.y = top_right_corner.y
如果左上角在(x, y)
,则:
(x + mdiForm.Width - childForm.Width, y)
(x, y + mdiForm.Height - childForm.Height)
(x + mdiForm.Width - childForm.Width, y + mdiForm.Height - childForm.Height)
上面的坐标是您定位子窗体的位置,以便它们出现在相应的角落。如果适用,您可能必须将工具栏高度添加到 y 坐标。