This is a snippet I use to clear a form. Right now it clears: TextBox, RichTextBox, ComboBox, CheckBox and RadioButton. More can be added if needed...
:)

Comments
well written snippet..may use this myself :p
public static void ClearForm(System.Windows.Forms.Control parent)
{
    foreach (System.Windows.Forms.Control ctrControl in parent.Controls)
    {
         //Loop through all controls 
         if (object.ReferenceEquals(ctrControl.GetType(), typeof(System.Windows.Forms.TextBox)))
         {
              //Check to see if it's a textbox 
              ((System.Windows.Forms.TextBox)ctrControl).Text = string.Empty;
                    //If it is then set the text to String.Empty (empty textbox) 
          }
          else if (object.ReferenceEquals(ctrControl.GetType(), typeof(System.Windows.Forms.RichTextBox)))
          {
               //If its a RichTextBox clear the text
               ((System.Windows.Forms.RichTextBox)ctrControl).Text = string.Empty;
          }
          else if (object.ReferenceEquals(ctrControl.GetType(), typeof(System.Windows.Forms.ComboBox)))
          {
               //Next check if it's a dropdown list 
               ((System.Windows.Forms.ComboBox)ctrControl).SelectedIndex = -1;
                    //If it is then set its SelectedIndex to 0 
          }
          else if (object.ReferenceEquals(ctrControl.GetType(), typeof(System.Windows.Forms.CheckBox)))
          {
               //Next uncheck all checkboxes
               ((System.Windows.Forms.CheckBox)ctrControl).Checked = false;
          }
          else if (object.ReferenceEquals(ctrControl.GetType(), typeof(System.Windows.Forms.RadioButton)))
          {
               //Unselect all RadioButtons
               ((System.Windows.Forms.RadioButton)ctrControl).Checked = false;
          }
          if (ctrControl.Controls.Count > 0)
          {
              //Call itself to get all other controls in other containers 
              ClearForm(ctrControl);
          }
     }
}

//Example call
ClearForm(this);

#
if (ctrControl.Controls.Count > 0)
#
{
#
//Call itself to get all other controls in other containers
#
ClearForm(ctrControl);
#
}

That's clever. Gets all the child controls.

Nice snippet. I've actually been using something along these lines for some web apps I've been working on.

I do have a question though: Which is faster or more "correct"?

if(object.ReferenceEquals(ctrControl.GetType(), typeof(System.Windows.Forms.ComboBox)))

or

if(ctrControl is System.Windows.Forms.ComboBox)

Is either of those better than the other, or they used for entirely different things? I ask because I'm using the latter, and if the former is a better or more proper use, I'd rather switch to that one.

Nice little piece of code. I like the recurssion piece as well (course I say that with a little bias because I did something like that to and though to myself "wow that was clever of me").

If you do a PictureBox addition, make sure you dispose the Image, and don't just set it to null ... of course this assumes the image isn't referencing an item in memory shared by others (couldn't help myself bringing this up, I've been working a lot with Images in the last few years)

The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.