Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los controles de Windows Forms son objetos con los que los usuarios pueden interactuar para escribir o manipular datos. En proyectos de nivel de documento para Microsoft Office Excel y Microsoft Office Word, puede agregar controles de Windows Forms al documento o libro del proyecto en tiempo de diseño, o bien puede agregar estos controles mediante programación en tiempo de ejecución. Puede agregar estos controles mediante programación a cualquier documento o hoja de cálculo abierto en tiempo de ejecución en un complemento de VSTO para Excel o Word.
Para obtener más información, vea Cómo: Agregar controles de Windows Forms a documentos de Office.
Se aplica a: La información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO para Excel y Word. Para obtener más información, vea Características disponibles por aplicación de Office y tipo de proyecto.
Usar controles de Windows Forms
Puede agregar controles de Windows Forms a documentos y a elementos personalizables de la interfaz de usuario (UI), incluidos paneles de acciones, paneles de tareas personalizados y Formularios Windows Forms. Los controles de Windows Forms suelen tener el mismo comportamiento en los documentos que en estos otros elementos de la interfaz de usuario, pero existen algunas diferencias. Para obtener información, vea Limitaciones de los controles de Windows Forms en documentos de Office.
La decisión de agregar controles de Windows Forms a un documento o algún otro elemento de interfaz de usuario depende de varios factores. Al diseñar la interfaz de usuario de la solución, tenga en cuenta los usos de controles de Windows Forms como se describe en la tabla siguiente.
Dentro de un documento.
Cuando quiera mostrar los controles todo el tiempo.
Cuando desea que los usuarios escriban datos directamente en el documento, por ejemplo, en documentos basados en formularios donde la superficie de edición está bloqueada.
Cuando desee que los controles se muestren en línea con los datos del documento. Por ejemplo, si va a agregar botones a cada fila de un objeto de lista, querrá que estén en línea con cada elemento de lista.
En el panel de acciones o en un panel de tareas personalizado.
Cuando quiera proporcionar información contextual al usuario.
Cuando solo desea que los resultados aparezcan en el documento y no los controles de consulta y los datos.
Cuando desee asegurarse de que los controles no se imprimen con el documento.
Cuando desee asegurarse de que los controles no interfieren con la vista del documento.
En un formulario de Windows Forms.
Cuando quiera controlar el tamaño de la interfaz de usuario.
Cuando quiera impedir que los usuarios oculten o eliminen los controles.
Cuando desee obtener la entrada del usuario e impedir que el usuario haga nada en el documento hasta que se reciba la entrada.
Agregar controles de Windows Forms mediante programación
Puede agregar controles de Windows Forms a documentos de Word y hojas de cálculo de Excel en tiempo de ejecución. El entorno de ejecución de Visual Studio Tools para Office proporciona métodos auxiliares para agregar los controles de Windows Forms más comunes. Estos métodos auxiliares permiten agregar rápidamente controles al documento de Office y acceder a la funcionalidad combinada de control de Windows Forms y a la funcionalidad relacionada con Office de estos controles.
Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.
Usar controles de Windows Forms en proyectos de nivel de documento
Algunos aspectos del uso de controles de Windows Forms en documentos son únicos para los proyectos de nivel de documento, que permiten diseñar la interfaz de usuario del documento mediante el diseñador de Visual Studio.
Creación de controles de usuario personalizados
Puede agregar un control de usuario al proyecto y, a continuación, agregarlo al Cuadro de herramientas. A continuación, puede arrastrar el control de usuario directamente al documento de la misma manera que agregaría un control de Windows Forms al documento. Hay algunas cosas que debe tener en cuenta al crear controles de usuario:
No cree un control de usuario sellado. Al arrastrar el control al documento, Visual Studio genera una clase contenedora derivada del control de usuario para ampliarlo y admitir su uso en el documento. Si el control de usuario está sellado, Visual Studio no puede generar la clase contenedora.
Los controles de usuario deben tener el ComVisibleAttribute atributo establecido en true. Los controles de usuario creados dentro de un proyecto de Office tienen este atributo establecido en true de forma predeterminada, pero es posible que los controles de usuario que forman parte de proyectos externos no tengan este atributo establecido en true.
Después de agregar un control de usuario al documento, no cambie el nombre ni elimine la UserControl clase del proyecto. Si necesita cambiar el nombre de un control de usuario, primero debe eliminarlo del documento y, a continuación, agregarlo de nuevo después de cambiar el nombre.
Organizar controles en tiempo de diseño
Si agrega varios controles a los documentos de Word y Excel en tiempo de diseño, puede establecer rápidamente la alineación de todos los controles seleccionados mediante las barras de herramientas de Microsoft Office Word y Microsoft Office Excel en Visual Studio. Estas barras de herramientas solo están disponibles cuando un documento o hoja de cálculo está abierto en el diseñador.
Al seleccionar varios controles en el diseñador, puede usar los siguientes botones en estas barras de herramientas para organizar los controles:
Alinear a la izquierda
Alinear centros
Alinear derechos
Alinear los topes
Alinear los medios
Alinear los fondos
Hacer que el espaciado horizontal sea igual a
Hacer que el espaciado vertical sea igual
Nota:
En los proyectos de Word, estos botones solo se habilitan si los controles seleccionados no están en línea con el texto. De forma predeterminada, los controles que agregue al documento en tiempo de diseño están en línea con el texto.
Impedir que los datos antiguos aparezcan en libros de Excel durante la carga
Al agregar controles de Windows Forms a documentos o hojas de cálculo en tiempo de diseño, los controles permanecen en el documento cuando el usuario cierra el documento. Los controles agregados en tiempo de diseño también se denominan controles estáticos.
Cuando se abre un libro de Excel que contiene controles estáticos, el libro muestra un mapa de bits del control en un control ActiveX hasta que el código de personalización se ejecuta y carga el control real. Excel crea este mapa de bits y lo almacena en el libro de trabajo cada vez que el libro de trabajo se guarda. El bitmap muestra el control tal como apareció la última vez que se guardó el libro de trabajo, incluidos los datos que el control mostraba. Para obtener más información sobre el control ActiveX que contiene controles de Windows Forms y mapas de bits, vea Limitaciones de los controles de Windows Forms en documentos de Office.
En determinadas condiciones, el código no se carga y solo se muestra el mapa de bits, como cuando el usuario abre el libro en modo de diseño. Además, si el usuario abre el libro en un equipo que no tiene instalado el entorno de ejecución de Visual Studio Tools para Office, la personalización no se puede ejecutar para cargar los controles y, por tanto, solo está visible el mapa de bits del control. Siempre debe eliminar la información personal de los controles en los libros de trabajo antes de guardar el libro de trabajo y enviarlo a otro usuario para garantizar que su información personal no se divulgue accidentalmente.
Ajustar el tamaño del control al tamaño de la celda en una hoja de cálculo de Excel
Puede establecer el control para que se redimensione automáticamente cuando se cambie el tamaño de la celda principal. Para obtener más información, vea Cómo: Cambiar el tamaño de los controles dentro de las celdas de la hoja de cálculo.
Agregar componentes compartidos por todas las hojas de cálculo
Puede agregar componentes que quiera compartir entre todas las hojas de cálculo, como DataSet, al Diseñador de libros en lugar de a las hojas de cálculo. El componente aparecerá en la bandeja de componentes.
Fórmula para insertar controles en una hoja de cálculo de Excel
Al seleccionar un control en Excel, verá =EMBED("WinForms.Control.Host","") en la barra de fórmulas. Este texto es necesario y no debe eliminarse.
Estilo de diseño de controles en un documento de Word
Al agregar un control al documento de Word en un proyecto de nivel de documento mediante el diseñador de Visual Studio, el control se agrega en línea con el texto. Para cambiar el estilo de diseño del control, haga clic con el botón derecho en el control y, a continuación, haga clic en Formato control. Seleccione un estilo de ajuste en la página Diseño del cuadro de diálogo Formato de Objeto.
Al agregar un control a un documento de Word en tiempo de ejecución, puede especificar el estilo de diseño del nuevo control usando Add< diferentes sobrecargas de métodos de la clase> de control de la ControlCollection clase.
Para agregar el control en línea con el texto, use una sobrecarga que acepte un Range que especifique la ubicación del control.
Para agregar el control como forma flotante, use una sobrecarga que acepte las coordenadas izquierda y superior del control.
Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.
Si abre una plantilla de Word en el diseñador de Visual Studio, es posible que los controles no en línea de la plantilla no sean visibles porque Visual Studio abre la plantilla en la vista Normal. Para ver los controles, cambie la vista a Diseño de impresión.
Controles fuera del cuerpo principal del documento
Los controles de Windows Forms no se admiten dentro de un encabezado o pie de página, ni dentro de un subdocumento.
Agregar componentes en tiempo de diseño
Algunos controles o componentes no están visibles en el documento y, en su lugar, se muestran en una bandeja de componentes. Visual Studio proporciona una bandeja de componentes para cada ventana de documento. La bandeja de componentes aparece en la pantalla solo si existen componentes en el documento.
Contenido relacionado
- Controles en documentos de Office
- Agregar controles a documentos de Office en tiempo de ejecución
- Información general sobre los elementos de anfitrión y los controles de anfitrión
- Información general del panel Acciones
- Controles de Windows Forms
- Limitaciones de los controles de Windows Forms en documentos de Office
- Cómo: Agregar controles de Windows Forms a documentos de Office
- Cómo: Cambiar el tamaño de los controles dentro de las celdas de la hoja de cálculo
- Cómo: Ocultar controles en hojas de cálculo al imprimir
- Tutorial: Cambio del formato de documento mediante controles CheckBox
- Tutorial: Mostrar texto en un cuadro de texto de una hoja de cálculo mediante un botón
- Tutorial: Mostrar texto en un cuadro de texto de un documento mediante un botón
- Limitaciones de los controles de Windows Forms en documentos de Office
- Tutorial: Actualización de un gráfico en una hoja de cálculo mediante botones de radio