【问题标题】:How to set form location to parent form center? [duplicate]如何将表单位置设置为父表单中心? [复制]
【发布时间】:2019-01-27 17:20:17
【问题描述】:

我将表单的 StartPosition 设置为 CenterParent。然后我在 Form.Load() 事件中更改我的 Form.ClientSize。

因此,我的表单不再居中。

编辑:

我使用 form.ShowDialog() 来显示表单。

【问题讨论】:

  • 如果您调整表单大小,那么您必须重新居中。就这么简单。
  • @DanWilson - 我相信“如何?”是问题。
  • 一开始为什么要改尺寸?
  • @Reniuz 我改变了大小,因为我向不同的用户显示不同的内容。

标签: c# winforms


【解决方案1】:

ShowDialog() 具有将IWin32Window 作为参数的重载。你可以这样做:

myForm.ShowDialog(this);

现在访问myForm.Load() 中的Owner.Location。继续将myForm.Location 设置为父窗体的中间减去myForm 的宽度和高度的一半,如下所示:

Location = new Point(Owner.Location.X + Owner.Width / 2 - ClientSize.Width / 2,
    Owner.Location.Y + Owner.Height / 2 - ClientSize.Height / 2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 2022-01-02
    • 2014-07-23
    相关资源
    最近更新 更多