Export (0) Print
Expand All

Control.OnControlRemoved Method

Raises the ControlRemoved event.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

protected virtual void OnControlRemoved(
	ControlEventArgs e
)

Parameters

e
Type: System.Windows.Forms.ControlEventArgs

A ControlEventArgs that contains the event data.

Called when a child control is removed from the control.

Raising an event invokes the event handler through a delegate. For more information, see Handling and Raising Events.

The OnControlRemoved method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.

Notes to Inheritors

When overriding OnControlRemoved in a derived class, be sure to call the base class's OnControlRemoved method so that registered delegates receive the event.

The following code example uses ControlRemoved to remove a control from a form and displays the name of the removed control in a MessageBox.

// This example demonstrates the use of the ControlAdded and 
// ControlRemoved events. This example assumes that two Button controls 
// are added to the form and connected to the addControl_Click and 
// removeControl_Click event-handler methods. 
private void Form1_Load(object sender, System.EventArgs e)
{
    // Connect the ControlRemoved and ControlAdded event handlers 
    // to the event-handler methods. 
    // ControlRemoved and ControlAdded are not available at design time. 
    this.ControlRemoved += new System.Windows.Forms.ControlEventHandler(this.Control_Removed);
    this.ControlAdded += new System.Windows.Forms.ControlEventHandler(this.Control_Added);
}

private void Control_Added(object sender, System.Windows.Forms.ControlEventArgs e)
{
    MessageBox.Show("The control named " + e.Control.Name + " has been added to the form.");
}

private void Control_Removed(object sender, System.Windows.Forms.ControlEventArgs e)
{
    MessageBox.Show("The control named " + e.Control.Name + " has been removed from the form.");
}

// Click event handler for a Button control. Adds a TextBox to the form. 
private void addControl_Click(object sender, System.EventArgs e)
{
    // Create a new TextBox control and add it to the form.
    TextBox textBox1 = new TextBox();
    textBox1.Size = new Size(100,10);
    textBox1.Location = new Point(10,10);
    // Name the control in order to remove it later. The name must be specified 
    // if a control is added at run time.
    textBox1.Name = "textBox1";

    // Add the control to the form's control collection. 
    this.Controls.Add(textBox1);
}

// Click event handler for a Button control. 
// Removes the previously added TextBox from the form. 
private void removeControl_Click(object sender, System.EventArgs e)
{
    // Loop through all controls in the form's control collection. 
    foreach (Control tempCtrl in this.Controls)
    {
        // Determine whether the control is textBox1, 
        // and if it is, remove it. 
        if (tempCtrl.Name == "textBox1")
        {
            this.Controls.Remove(tempCtrl);
        }
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft