如何在表单显示之前调整表单大小?

时间:2014-03-01 15:40:12

标签: vb.net

我有一个需要包含一些控件的表单。

控件是动态创建的,我事先并不知道表单的大小。

我正在加载事件中调整表单大小。

除了表单加载时,它在很短的时间内显示由设计师创建的初始大小而不是调整大小,这一切都很有效。

这种行为让我感到困扰。我尝试了 PerformLayout(),但那是不成功的。

是否有人知道如何在表单显示之前调整表单大小,何时显示,直接显示最终大小?

Private sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.Size = new Size(500,600)
    Me.PerformLayout()
End Sub

2 个答案:

答案 0 :(得分:0)

尝试在sub new中调整大小。在初始化组件之后,在动态加载控件之后,在表单加载之前。

答案 1 :(得分:0)

试试这个:

Protected Overloads Overrides Sub OnLoad(ByVal e As System.EventArgs)
    MyBase.OnLoad(e)
    AddHandler Application.Idle, AddressOf onloaded
End Sub

Private Sub onloaded(ByVal sender As Object, ByVal e As EventArgs)
    RemoveHandler Application.Idle, AddressOf onloaded

End Sub

并在表单加载中执行您想要的任务。

瓦尔特