The Article will explain how to Add and remove controls from the Windows Forms during the Runtime.
Introduction
This Article will 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.
To Add the Controls in the Runtime Use the Following Code
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");
}
}
Note : The "Tag" Property of the LinkLabel Control is used to Store the information about the control next to it(TextBox) for Removing purpose only.
To Remove the Controls use the Following Code
public void RemoveControl(object sender, System.EventArgs e)
{
LinkLabel lbls=(LinkLabel)sender;
this.Controls.Remove((LinkLabel)sender);
this.Controls.Remove((TextBox)lbls.Tag);
}
To retrive Values from the Added Runtime Control use the Following code
private void button2_Click(object sender, EventArgs e)
{
foreach (Control ctrl in Controls)
{
if (ctrl is TextBox)
{
MessageBox.Show(((TextBox)ctrl).Text);
}
}
}
Regards
Hefin Dsouza