Runtime Adding and Removing of Controls in Winforms

Initiotech
Posted by in Windows Forms category on for Intermediate level | Views : 17069 red flag
Rating: 5 out of 5  
 1 vote(s)

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

Page copy protected against web site content infringement by Copyscape

About the Author

Initiotech
Full Name: Hefin Dsouza
Member Level: Starter
Member Status: Member
Member Since: 9/16/2009 12:32:23 PM
Country: India

http://hefin.in
My Name is Hefin Dsouza. I am a faculty at Computer Education Institute.I am also an Freelance Software Developer and Software Trainner.I am working with DotNet Technologies from the past 8 years.I am an Microsoft Certified Windows Application Developer for .NET 3.5. And also a Blogger at http://blog.hefin.in

Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)