当自动大小关闭时保持大小



我有一个表单,它通过设置AutoSize为true和AutoSizeModeGrowAndShrink来初始化其内容(UserControl放置在位置0,0)。

初始化后,我希望表单控制并关闭自动调整大小,并使UserControl为Dock.Fill .

问题是,当关闭AutoSize,窗体恢复其以前的大小,而不是保持其当前的大小。我可以在关闭AutoSize之前存储Size,然后恢复它,但是你仍然会得到大小事件(你可以看到表单闪烁)。

有没有办法让窗体保持其当前的大小,而没有任何大小事件触发时关闭AutoSize ?

在关闭AutoSize属性之前尝试设置MinimumSize属性:

this.MinimumSize = this.Size;
this.AutoSize = false;

我有一个类似的问题-我希望表单在按下按钮时使用AutoSize来增大或缩小,然后返回到允许用户手动调整它的大小。

目前我的解决方案是在按钮事件:

    Me.AutoSize = True
    uiStopAutoSizeTimer.Start()

然后有一个单独的方法来关闭AutoSize,并保持AutoSize在表单上使用的大小。

Private Sub uiStopAutoSizeTimer_Tick(sender As System.Object, e As System.EventArgs) Handles uiStopAutoSizeTimer.Tick
    Me.SuspendLayout()
    Dim tempSize = Me.Size
    Me.AutoSize = False
    Me.Size = tempSize
    uiStopAutoSizeTimer.Enabled = False
    Me.ResumeLayout()
End Sub

相关内容

  • 没有找到相关文章

最新更新