Control.OnControlRemoved Method
Raises the ControlRemoved event.
[Visual Basic] Protected Overridable Sub OnControlRemoved( _ ByVal e As ControlEventArgs _ ) [C#] protected virtual void OnControlRemoved( ControlEventArgs e ); [C++] protected: virtual void OnControlRemoved( ControlEventArgs* e ); [JScript] protected function OnControlRemoved( e : ControlEventArgs );
Parameters
- e
- A ControlEventArgs that contains the event data.
Remarks
Called when a child control is removed from the control.
Raising an event invokes the event handler through a delegate. For more information, see Raising an Event.
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.
Example
[Visual Basic] ' 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 handling methods. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Connect the ControlRemoved and ControlAdded event handlers to the event handling methods. ' ControlRemoved and ControlAdded are not available at design time. AddHandler Me.ControlRemoved, AddressOf Me.Control_Removed AddHandler Me.ControlAdded, AddressOf Me.Control_Added End Sub 'Form1_Load Private Sub Control_Added(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs) MessageBox.Show(("The control named " + e.Control.Name + " has been added to the form.")) End Sub Private Sub Control_Removed(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs) MessageBox.Show(("The control named " + e.Control.Name + " has been removed from the form.")) End Sub ' Click event handler for a Button control. Adds a TextBox to the form. Private Sub addControl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click ' Create a new TextBox control and add it to the form. Dim textBox1 As 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. Me.Controls.Add(textBox1) End Sub ' Click event handler for a Button control. ' Removes the previously added TextBox from the form. Private Sub removeControl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button2.Click ' Loop through all controls in the form's control collection. Dim tempCtrl As Control For Each tempCtrl In Me.Controls ' Determine whether the control is textBox1, ' and if it is, remove it. If tempCtrl.Name = "textBox1" Then Me.Controls.Remove(tempCtrl) End If Next tempCtrl End Sub [C#] // 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 handling methods. private void Form1_Load(object sender, System.EventArgs e) { // Connect the ControlRemoved and ControlAdded event handlers // to the event handling 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); } } } [C++] // 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 handling methods. private: void Form1_Load(Object* /*sender*/, System::EventArgs* /*e*/) { // Connect the ControlRemoved and ControlAdded event handlers // to the event handling methods. // ControlRemoved and ControlAdded are not available at design time. this->ControlRemoved += new System::Windows::Forms::ControlEventHandler(this, &Form1::Control_Removed); this->ControlAdded += new System::Windows::Forms::ControlEventHandler(this, &Form1::Control_Added); } void Control_Added(Object* /*sender*/, System::Windows::Forms::ControlEventArgs* e) { MessageBox::Show(String::Format( S"The control named {0} has been added to the form.", e->Control->Name )); } void Control_Removed(Object* /*sender*/, System::Windows::Forms::ControlEventArgs* e) { MessageBox::Show(String::Format( S"The control named {0} has been removed from the form.", e->Control->Name )); } // Click event handler for a Button control. Adds a TextBox to the form. 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 = System::Drawing::Size(100,10); textBox1->Location = 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 = S"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. void removeControl_Click(Object* /*sender*/, System::EventArgs* /*e*/) { // Loop through all controls in the form's control collection. IEnumerator* myEnum = this->Controls->GetEnumerator(); while (myEnum->MoveNext()) { Control* tempCtrl = __try_cast<Control*>(myEnum->Current); // Determine whether the control is textBox1, // and if it is, remove it. if (tempCtrl->Name->Equals(S"textBox1")) { this->Controls->Remove(tempCtrl); } } }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also
Control Class | Control Members | System.Windows.Forms Namespace | ControlRemoved