This sample demontrates how to Add Controls on Runtime and how to remove them.
And also how to get values out of an Runtime Created Control.It Also demonstrates how to write event handlers for runtime created controls.
private void button1_Click(object sender, EventArgs e)
{
j = j + 1;
TextBox cntrl;
LinkLabel labl;
cntrl = new TextBox();
cntrl.Text = "Text " + i.ToString();
labl = new LinkLabel();
labl.Name = "lbl" + j.ToString();
labl.Text = "Remove Text Box";
labl.Tag = cntrl;
labl.Click += new EventHandler(RemoveControl);
if (i < this.Height)
{
cntrl.Location = new Point(0, i);
labl.Location = new Point(cntrl.Width + 5 , i);
i = i + cntrl.Height +5;
Controls.Add(cntrl);
Controls.Add(labl);
}
else
{
MessageBox.Show("Cannot Add more Controls");
}
}
public void RemoveControl(object sender, System.EventArgs e)
{
LinkLabel lbls=(LinkLabel)sender;
this.Controls.Remove((LinkLabel)sender);
this.Controls.Remove((TextBox)lbls.Tag);
}
private void button2_Click(object sender, EventArgs e)
{
foreach (Control ctrl in Controls)
{
if (ctrl is TextBox)
{
MessageBox.Show(((TextBox)ctrl).Text);
}
}
}