ControlCollection.AddControl (Método) (Control, Double, Double, Double, Double, String)

Agrega el objeto Control especificado al objeto ControlCollection con la ubicación y el tamaño especificados.

Espacio de nombres:  Microsoft.Office.Tools.Excel
Ensamblado:  Microsoft.Office.Tools.Excel (en Microsoft.Office.Tools.Excel.dll)

Sintaxis

'Declaración
Function AddControl ( _
    control As Control, _
    left As Double, _
    top As Double, _
    width As Double, _
    height As Double, _
    name As String _
) As ControlSite
ControlSite AddControl(
    Control control,
    double left,
    double top,
    double width,
    double height,
    string name
)

Parámetros

  • left
    Tipo: System.Double
    Distancia, expresada en puntos, entre el borde izquierdo del control y el borde izquierdo de la hoja de cálculo.
  • top
    Tipo: System.Double
    Distancia, expresada en puntos, entre el borde superior del control y el borde superior de la hoja de cálculo.
  • width
    Tipo: System.Double
    Ancho del control, expresado en puntos.
  • height
    Tipo: System.Double
    Alto del control, expresado en puntos.

Valor devuelto

Tipo: Microsoft.Office.Tools.Excel.ControlSite
Objeto que representa el control que contiene el control especificado en la hoja de cálculo.

Excepciones

Excepción Condición
ArgumentNullException

El argumento de nombre o control es nullreferencia null (Nothing en Visual Basic) o tiene longitud cero.

ControlNameAlreadyExistsException

Ya existe un control con el mismo nombre en la instancia de ControlCollection.

Comentarios

Este método se puede utilizar para agregar cualquier control en tiempo de ejecución al objeto ControlCollection. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Ejemplos

En el siguiente ejemplo de código se agregan dos controles de usuario personalizados a la hoja de cálculo con el método AddControl. El primer control se agrega a un rango de celdas. El segundo control se agrega a una ubicación específica. Mediante el código se cambia la propiedad Top del primer control de usuario personalizado, con lo que sólo se mueve el control en relación al objeto ControlSite que contiene el control en la hoja de cálculo. A continuación, el código establece la propiedad Top del objeto ControlSite que devuelve el segundo control de usuario para ilustrar la manera correcta de establecer la propiedad Top del control.

    Private Sub ExcelRangeAddControl()

        Dim CustomUserControl As New UserControl1()
        Dim CustomUserControl2 As New UserControl2()

        Dim DynamicControl As Microsoft.Office.Tools.Excel.ListObject = Me.Controls.AddControl( _
            CustomUserControl, 0, 0, 150, 150, _
            "DynamicControl")

        Dim DynamicControl2 As Microsoft.Office.Tools.Excel. _
            ControlSite = Me.Controls.AddControl( _
            CustomUserControl2, 200, 0, 150, 150, _
            "DynamicControl2")

        CustomUserControl.BackColor = Color.Blue
        CustomUserControl2.BackColor = Color.Green

        CustomUserControl.Top = 100
        DynamicControl2.Top = 100

    End Sub

private void ExcelRangeAddControl()
{

    UserControl1 customUserControl = new UserControl1();
    UserControl2 customUserControl2 = new UserControl2();

    Microsoft.Office.Tools.Excel.ControlSite dynamicControl =
        this.Controls.AddControl(customUserControl,
        0, 0, 150, 150, "dynamicControl");

    Microsoft.Office.Tools.Excel.ControlSite dynamicControl2 =
        this.Controls.AddControl(customUserControl2, 200, 0,
        150, 150, "dynamicControl2");

    customUserControl.BackColor = Color.Blue;
    customUserControl2.BackColor = Color.Green;

    customUserControl.Top = 100;
    dynamicControl2.Top = 100;
}

Seguridad de .NET Framework

Vea también

Referencia

ControlCollection Interfaz

AddControl (Sobrecarga)

Microsoft.Office.Tools.Excel (Espacio de nombres)