确定WinForm四个角落的最佳方法

时间:2013-04-05 14:20:00

标签: c# winforms

我有一个C#MDI应用程序,我需要确定MDI Parent四个角的每个角点。我有四种不同类型的Notification Child Windows,我需要在四个角中的每个角落中显示。到目前为止,由于屏幕分辨率和尺寸因显示器而异,因此我已经尝试将这些子窗体始终如一地精确定位在角落中。部分问题是我的应用程序有一个ToolStripMenu,它在父级的整个长度上水平运行。

当然,Parent的左上角是最容易确定的,但有没有关于如何准确确定其他3个角落的任何建议?

谢谢

2 个答案:

答案 0 :(得分:0)

可能不是正确的语法

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

答案 1 :(得分:0)

如果左上角位于(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坐标(如果适用)。