title: Removing dynamic controls from panel
body: <p>I have dynamically generated controls on the panels of windows form and i have also generated a button for removing the controls, all in rows.</p>
  
  <pre><code>int c = 0;
  private void button1_Click(object sender, EventArgs e)
  {
      int v;
      v = c++;
      panel1.VerticalScroll.Value = VerticalScroll.Minimum;
      ComboBox combo = new ComboBox();
      combo.Name = "combobox" + v ;
      combo.Location = new Point(30, 5 + (30 * v));
  
      ComboBox combo2 = new ComboBox();
      combo2.Name = "combobox2" + v ;
      combo2.Location = new Point(170, 5 + (30 * v));
  
      TextBox txt = new TextBox();
      txt.Name = "txtbx" + v;
      txt.Location = new Point(300, 5 + (30 * v));
  
      TextBox txt2 = new TextBox();
      txt2.Name = "txtbx2" + v;
      txt2.Location = new Point(450, 5 + (30 * v));
  
      TextBox txt3 = new TextBox();
      txt3.Name = "txtbx3" + v;
      txt3.Location = new Point(600, 5 + (30 * v));
  
      Button btn = new Button();
      btn.Name = "btn" + v;
      btn.Text = "Remove";
      btn.Location = new Point(750, 5 + (30 * v));
      panel1.Controls.Add(combo);
      panel1.Controls.Add(btn);
      panel1.Controls.Add(txt);
      panel1.Controls.Add(combo2);
      panel1.Controls.Add(txt2);
      panel1.Controls.Add(txt3);
      btn.Click += new EventHandler(btn_Click);
      combo.Tag = btn; 
      combo2.Tag = combo; 
      btn.Tag = combo2;
  
  }
  
   private void btn_Click(object sender, EventArgs e)
   {
       ComboBox cb3 = btnh.Tag as ComboBox;
       ComboBox cb4 = cb3.Tag as ComboBox;
       panel1.Controls.Remove(cb3);
       panel1.Controls.Remove(cb4);
       panel1.Controls.Remove(btnh);
    }
  </code></pre>
  
  <p>Now how do I remove all the controls from a row upon clicking a button from that row?</p>