.NET 2
// dynamic textbox adding
myTextBox = new TextBox();
this.Controls.Add(myTextBox);
// ... some code, finally
// dynamic textbox rem
No, you don't.
I tried it.
You can paste the following code into LINQPad:
var form = new Form();
var b = new Button();
form.Controls.Add(b);
b.Click += delegate { b.Dispose(); };
Application.Run(form);
EDIT: The control will be removed from the form's Controls
collection. To demonstrate this, replace the click handler with the following:
b.Click += delegate { b.Dispose(); MessageBox.Show(form.Controls.Count.ToString());};
It will show 0
.
2nd EDIT: Control.Dispose(bool disposing)
contains the following code:
if (parent != null) {
parent.Controls.Remove(this);
}