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
- control
Tipo: System.Windows.Forms.Control
Control que se va a agregar a la instancia de ControlCollection.
- 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.
- name
Tipo: System.String
Nombre del control.
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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.