Cómo: Cambiar el tamaño de controles en celdas de hojas de cálculo
Cuando cambia el tamaño de las columnas o las filas de una hoja de cálculo, cualquier control host contenido en las celdas cambia de tamaño automáticamente para ajustarse al alto o ancho de la celda cuyo tamaño cambió. Los controles de formularios Windows Forms no cambian el tamaño automáticamente de forma predeterminada.
Se aplica a: la información de este tema se aplica a los proyectos de nivel de documento para Excel 2007 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.
Si se agregan en tiempo de diseño, debe establecer las opciones de posición para cada control.
Si agrega un control de formulario Windows Forms mediante programación y proporciona un argumento de rango, el control cambia automáticamente el tamaño cuando se cambia el tamaño de una celda contenida en el rango. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.
Cambiar el tamaño de los controles en tiempo de diseño
Para hacer que cambie el tamaño de los controles junto con las celdas en tiempo de diseño
Desde el Cuadro de herramientas arrastre un control de formulario Windows Forms hasta una hoja de cálculo.
Haga clic con el botón secundario en el control y, a continuación, haga clic en Formato de control.
En el cuadro de diálogo Formato de control, haga clic en la ficha Propiedades.
En Ubicación del objeto, seleccione la opción Mover y cambiar tamaño con celdas y haga clic en Aceptar.
Cuando se cambia el tamaño de la celda que contiene el control, el control cambia el tamaño para ajustarse a la celda.
Cambiar el tamaño de los controles en tiempo de ejecución
Si agrega un control de formulario Windows Forms en tiempo de ejecución y pasa Microsoft.Office.Interop.Excel.Range como la ubicación para el control, el control cambiará automáticamente el tamaño cuando se cambie el tamaño de la celda de hoja de cálculo que contiene el rango.
Para hacer que cambie el tamaño de los controles junto con las celdas en tiempo de ejecución
Agregue un control al rango A1.
Dim control1 As Microsoft.Office.Tools.Excel.Controls.Button = _ Me.Controls.AddButton(Me.Range("A1"), "control1")
Microsoft.Office.Tools.Excel.Controls.Button control1 = this.Controls.AddButton(this.Range["A1", missing], "control1");
Cuando se cambia el tamaño de la celda que contiene el control, el control cambia el tamaño para ajustarse a la celda.
Restablecer la ubicación del control
Puede restablecer la ubicación y el tamaño del control estableciendo la propiedad Placement en uno de los valores de XlPlacement siguientes:
Para cambiar el comportamiento de un control para que no cambie de tamaño ni se desplace con la celda
Llame a la propiedad de ubicación del control y establezca el valor en xlFreeFloating.
control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating
control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating;
Vea también
Tareas
Cómo: Agregar controles de Windows Forms a documentos de Office
Cómo: Ocultar controles en hojas de cálculo al imprimir
Conceptos
Agregar controles a documentos de Office en tiempo de ejecución
Limitaciones de los controles de formularios Windows Forms en los documentos de Office