我有一个表单 (Form1),它有 30 个控件。当我点击一个按钮时,我想删除这 30 个按钮并将其他控件放在表单上。现在,我的问题是这太慢了。
我有这个列表,其中包含要删除的控件,并使用 For Each 遍历它们。
Private Sub ClearControls()
'removing the controls from Me.Controls
For Each Control As Control In ListToDelete
Me.Controls.Remove(Control)
Next
ListToDelete = New List(Of Control)
End Sub
现在,如果您查看表单,您会看到控件被一一删除。此操作大约需要 0.4 秒(使用内置秒表计时),这太长了。
是否有任何解决方案可以更快地删除控件,或者只能逐个删除控件?
也许一个重要的事实是一切都与数据库相连。这些控件是由我自己定义的一个类(TableDrawer)创建的,它创建一个矩形或圆形(取决于数据库中的信息)。我将自制控件添加到表单中,当我想删除它们时,需要 0.4 秒才能获取表单上的其他控件 - 以及我的数据库中的信息。
希望这可以解决一些问题,我希望你能帮助我......它真的必须快一点(我希望得到 0.1 秒或更低)