title: Removing a collection of controls
body: <p>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.</p>
  
  <p>I have this list with controls I want to delete and I run through them with a For Each.</p>
  
  <pre><code>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
  </code></pre>
  
  <p>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.</p>
  
  <p>Are there any solutions to delete the controls in a faster way or is it only possible to delete the controls 1 by 1?</p>
  
  <p>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.</p>
  
  <p>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)</p>