【发布时间】:2016-05-29 15:32:23
【问题描述】:
有没有办法找到使用AutoSize=true 调整自身大小的表单的实际大小?
例如,我有一个在运行时创建控制器的表单,我希望将一些控制器放置在相对于表单大小的特定位置。
当我尝试从 This.Width 或 This.Right 或 This.PreferredSize.Width 表单中获取时,它们返回的值太大,所以我怀疑 AutoSize 没有触及的表单有一些默认大小。
有没有办法强制AutoSize 更新表单的当前大小?
【问题讨论】:
-
等到 Load 事件触发,这是使用该事件的少数真正原因之一。强迫它根本不会让您领先,在创建本机窗口之前您无法获得实际大小。并且一定要使用 ClientSize 属性,如果你关心布局,你几乎不会使用 Size,因为它仍然是不可预测的。
-
@HansPassant 通过加载事件你的意思是
InitializeComponent()? -
@kuhaku 不,他的意思是
Load事件。
标签: c# .net winforms visual-studio