gpt4 book ai didi

c# - 有没有一种方法可以找到使用 AutoSize=true 调整自身大小的窗体的实际大小?

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:57 24 4
gpt4 key购买 nike

有没有一种方法可以找到使用 AutoSize=true 调整自身大小的表单的实际大小?

例如,我有一个在运行时创建 Controller 的表单,我希望将一些 Controller 放置在相对于表单大小的特定位置。

当我尝试从表单 This.WidthThis.RightThis.PreferredSize.Width 获取时,它们返回的值是太大,所以我怀疑 AutoSize 没有触及的表单有一些默认大小。

有没有办法强制 AutoSize 更新表单的当前大小?

最佳答案

WidthHeightSize 将始终返回表单的“实际”大小。但是,您可以订阅 SizeChanged 事件以收到任何更改的通知,例如:

public Form1()
{
this.SizeChanged += Form1_SizeChanged;
InitializeComponent();
}

private void Form1_SizeChanged(object sender, EventArgs e)
{
Debug.WriteLine(this.Width + "/" + this.Height);
}

或者,如果您只需要它一次(在 AutoSize 之后),您可以改用 Load 事件:

public Form1()
{
this.Load += Form1_Load;
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Debug.WriteLine(this.Width + "/" + this.Height);
}

更多信息:

Order of Events in Windows Forms
Form.Load Event
Control.SizeChanged Event

关于c# - 有没有一种方法可以找到使用 AutoSize=true 调整自身大小的窗体的实际大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37511708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com