For Each Loop used to clear all textboxes and RadioButtons inside a Groupbox private: System::Void btnClear_Click(System::Object^ sender, System::EventArgs^ e) { for each (Control^ myControl in this->Controls) //loop through the form's control collection to find all the textboxes. { if (myControl->GetType() == System::Windows::Forms::TextBox::typeid) //found textbox? then clear text myControl->Text = ""; else if (myControl->HasChildren) { for each(Control^ nestedControl in myControl->Controls) // here, myControl is pointing to the groupbox. So we need to cycle // through the groupbox looking for radiobuttons if(nestedControl->GetType() == System::Windows::Forms::RadioButton::typeid) { RadioButton^ myRadioButton = safe_cast (nestedControl); //see note below myRadioButton->Checked = false; } } } TextBox1->Focus(); } /* Note about the RadioButton loop above: All controls have a text property (I think). But not all controls have a Checked property. So to uncheck a RadioButton or Checkbox Control, I have to create a new reference variable (myRadioButton) line 231 and assign it to the current control being pointed to in nestedControl. Then I can access its checked property and uncheck it by making it false in line 232.*/