I have a form (Form1) and it has 30 controls.
When I hit a button, I want to remove those 30 buttons and put other controls on the form.
Now, my problem is that this is to slow.

I have this list with controls I want to delete and I run through them with a 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

```

Now, if you watch the form, you see the controls getting deleted 1 by 1. This action takes about 0.4 seconds (timed with the build-in stopwatch) and that's too long.

Are there any solutions to delete the controls in a faster way or is it only possible to delete the controls 1 by 1?

Maybe an important fact is that everything is connected with a database. 
The controls are created by a class I defined myself (TableDrawer) and it creates a rectangle or circle (depends on info from the database).
I add the selfmade controls to the form and when I want to delete them, it takes 0.4 seconds to get other controls on the form - also with information out of my database.

Hopefully this clears some things up and I hope you can help me out... It really has to go a bit faster (I hope to get 0.1s or lower)