Control.Name Property

Definition

Gets or sets the name of the control.

[System.ComponentModel.Browsable(false)]
public string Name { get; set; }

Property Value

The name of the control. The default is an empty string ("").

Attributes

Examples

The following code example displays the Name of a control in a MessageBox when the control is added or removed from a form.

// 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);
        }
    }
}

Remarks

The Name property can be used at run time to evaluate the object by name rather than type and programmatic name. Because the Name property returns a String type, it can be evaluated in case-style logic statements (Select statement in Visual Basic, switch statement in Visual C# and Visual C++).

Applies to

Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also