Vb.net VisualBasic可以平滑地加载许多控件

Vb.net VisualBasic可以平滑地加载许多控件,vb.net,Vb.net,当我启动表单时,它必须加载很多用户控件,并将数据绑定到每个控件。这会导致窗体在显示之前延迟几秒钟。让控件在流布局面板中逐个加载并在添加时显示它们的最佳方式是什么?在窗体上“绘制”控件所需的时间是此问题的主要原因。调用Refresh可能只会使问题变得更糟 解决方案是暂停框架的所有布局逻辑,直到初始化所有控件 Private Sub InitializeControls() Me.SuspendLayout() ' ... ' ... ' ... Me.ResumeLa

当我启动表单时,它必须加载很多用户控件,并将数据绑定到每个控件。这会导致窗体在显示之前延迟几秒钟。让控件在流布局面板中逐个加载并在添加时显示它们的最佳方式是什么?

在窗体上“绘制”控件所需的时间是此问题的主要原因。调用Refresh可能只会使问题变得更糟

解决方案是暂停框架的所有布局逻辑,直到初始化所有控件

Private Sub InitializeControls()
   Me.SuspendLayout()
   ' ...
   ' ...
   ' ...
   Me.ResumeLayout()
End Sub
编辑

我的回答是假设绑定到的任何数据源都不是瓶颈。
如果是这样,那么通过使代码异步,您将获得更多的好处。

在窗体上“绘制”控件所需的时间是导致此问题的主要原因。调用Refresh可能只会使问题变得更糟

解决方案是暂停框架的所有布局逻辑,直到初始化所有控件

Private Sub InitializeControls()
   Me.SuspendLayout()
   ' ...
   ' ...
   ' ...
   Me.ResumeLayout()
End Sub
编辑

我的回答是假设绑定到的任何数据源都不是瓶颈。
如果是,那么通过使代码异步,您将获得更多。

您使用的是哪一版本的Visual Basic?Visual Basic 2013 express。我现在做的是先加载表单,然后调用一个公共子例程,在添加每个控件后使用panel.refresh加载控件。这似乎现在起作用了。这是一种很好的方法,还是有更有效的方法?您使用的是哪个版本的Visual Basic?Visual Basic 2013 express。我现在做的是先加载表单,然后调用一个公共子例程,在添加每个控件后使用panel.refresh加载控件。这似乎现在起作用了。这是一个很好的方法,还是有更有效的方法呢?不,绑定发生得很快,我会尝试这种方法。谢谢绑定发生得很快,我会尝试这种方法。谢谢