我有一个需要包含一些控件的表单。
控件是动态创建的,我事先并不知道表单的大小。
我正在加载事件中调整表单大小。
除了表单加载时,它在很短的时间内显示由设计师创建的初始大小而不是调整大小,这一切都很有效。
这种行为让我感到困扰。我尝试了 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
答案 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
并在表单加载中执行您想要的任务。
瓦尔特