Control.ControlCollection.Add(Control) 方法


将指定的控件添加到控件集合中。Adds the specified control to the control collection.

 virtual void Add(System::Windows::Forms::Control ^ value);
public virtual void Add (System.Windows.Forms.Control value);
abstract member Add : System.Windows.Forms.Control -> unit
override this.Add : System.Windows.Forms.Control -> unit
Public Overridable Sub Add (value As Control)



要添加到控件集合的 ControlThe Control to add to the control collection.


指定的控件是顶级控件,或者如果将该控件添加到控件集合中,将导致循环控件引用。The specified control is a top-level control, or a circular control reference would result if this control were added to the control collection.

分配到 value 参数的对象不是 ControlThe object assigned to the value parameter is not a Control.


下面的代码示例将添加 ControlControl.ControlCollection 派生类的 PanelThe following code example adds a Control to the Control.ControlCollection of the derived class Panel. 该示例要求您已经在中创建了一个 Panel 控件和一个 Button 控件 FormThe example requires that you have created a Panel control and a Button control on a Form. 单击该按钮后,将 TextBox 向面板的中添加一个控件 Control.ControlCollectionWhen the button is clicked, a TextBox control is added to the panel's Control.ControlCollection.

   // Create a TextBox to add to the Panel.
   TextBox^ textBox1;

   // Add controls to the Panel using the Add method.
   void addButton_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
      textBox1 = gcnew TextBox;
      panel1->Controls->Add( textBox1 );
// Create a TextBox to add to the Panel.
private TextBox textBox1 = new TextBox();

// Add controls to the Panel using the Add method.
private void addButton_Click(object sender, System.EventArgs e)
' Create a TextBox to add to the Panel.
Dim TextBox1 As TextBox = New TextBox()

' Add controls to the Panel using the Add method.
Private Sub AddButton_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles AddButton.Click
End Sub


Add方法允许您向 Control 控件集合的末尾添加对象。The Add method allows you to add Control objects to the end of the control collection.

还可以 Control 使用方法将新对象添加到集合中 AddRangeYou can also add new Control objects to the collection by using the AddRange method.

若要删除 Control 先前添加的,请使用 RemoveRemoveAtClear 方法。To remove a Control that you previously added, use the Remove, RemoveAt, or Clear methods.


Control 次只能分配给一个 Control.ControlCollectionA Control can only be assigned to one Control.ControlCollection at a time. 如果已是另一个控件的子控件,则在将其 Control 添加到另一个控件之前,会从该控件中删除该控件。If the Control is already a child of another control it is removed from that control before it is added to another control.


Add(Control) 在派生类中重写时,请确保调用基类的 Add(Control) 方法,以确保将控件添加到集合中。When overriding Add(Control) in a derived class, be sure to call the base class's Add(Control) method to ensure that the control is added to the collection.