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 paneles de tareas son paneles de interfaz de usuario que normalmente se acoplan a un lado de una ventana en una aplicación de Microsoft Office. Los paneles de tareas personalizados proporcionan una manera de crear su propio panel de tareas y proporcionar a los usuarios una interfaz conocida para acceder a las características de la solución. Por ejemplo, la interfaz puede contener controles que ejecutan código para modificar documentos o mostrar datos de un origen de datos.
Se aplica a: La información de este tema se aplica a los proyectos de complemento de VSTO para Outlook. Para obtener más información, vea Características disponibles por aplicación de Office y tipo de proyecto.
Nota:
Un panel de tareas personalizado difiere del panel de acciones. El panel de acciones forma parte de personalizaciones de nivel de documento para Microsoft Office Word y Microsoft Office Excel. Para obtener más información, vea Información general sobre el panel Acciones.
Ventajas de los paneles de tareas personalizados
Los paneles de tareas personalizados permiten integrar las características en una interfaz de usuario conocida. Puede crear rápidamente un panel de tareas personalizado mediante las herramientas de Visual Studio.
Interfaz de usuario familiar
Los usuarios de aplicaciones del sistema de Microsoft Office ya están familiarizados con el uso de paneles de tareas, como el panel de tareas Estilos y formato en Word. Los paneles de tareas personalizados se comportan como otros paneles de tareas del sistema de Microsoft Office. Los usuarios pueden acoplar paneles de tareas personalizados a diferentes lados de la ventana de la aplicación o pueden arrastrar paneles de tareas personalizados a cualquier ubicación de la ventana. Puede crear un complemento de VSTO que muestre varios paneles de tareas personalizados al mismo tiempo y los usuarios pueden controlar cada panel de tareas individualmente.
Compatibilidad con formularios Windows Forms
La interfaz de usuario de un panel de tareas personalizado que se crea mediante las herramientas de desarrollo de Office en Visual Studio se basa en controles de Windows Forms. Puede usar el diseñador de Windows Forms conocido para diseñar la interfaz de usuario de un panel de tareas personalizado. También puede utilizar la compatibilidad con la vinculación de datos en Windows Forms para conectar un origen de datos a los controles en el panel de tareas.
Creación de un panel de tareas personalizado
Puede crear un panel de tareas personalizado básico en dos pasos:
Cree una interfaz de usuario para el panel de tareas personalizado agregando controles de Windows Forms a un UserControl objeto .
Cree una instancia del panel de tareas personalizado pasando el control de usuario al objeto dentro del complemento VSTO. Esta colección devuelve un nuevo CustomTaskPane objeto que puede usar para modificar la apariencia del panel de tareas y responder a eventos de usuario.
Para obtener más información, consulte How to: Add a custom task pane to an application (Cómo: Agregar un panel de tareas personalizado a una aplicación).
Creación de la interfaz del usuario
Todos los paneles de tareas personalizados que se crean mediante las herramientas de desarrollo de Office en Visual Studio contienen un UserControl objeto . Este control de usuario proporciona la interfaz de usuario del panel de tareas personalizado. Puede crear el control de usuario en tiempo de diseño o en tiempo de ejecución. Si crea el control de usuario en tiempo de diseño, puede usar el Diseñador de Windows Forms para construir la interfaz de usuario del panel de tareas.
Instanciar el panel de tareas personalizado
Después de crear un control de usuario que contenga la interfaz de usuario del panel de tareas personalizado, debe crear una instancia de CustomTaskPane. Para ello, transfiera el control de usuario al CustomTaskPaneCollection de su complemento VSTO llamando a uno de los métodos de Add. Esta colección se expone como el CustomTaskPanes campo de la ThisAddIn clase . El ejemplo de código siguiente está diseñado para ejecutarse desde la ThisAddIn clase .
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;
Los Add métodos devuelven un nuevo CustomTaskPane objeto. Puede usar este objeto para modificar la apariencia del panel de tareas y responder a eventos de usuario.
Control del panel de tareas en varias ventanas
Los paneles de tareas personalizados están asociados a una ventana de marco de documento, que presenta una vista de un documento o elemento al usuario. El panel de tareas solo es visible cuando la ventana asociada está visible.
Para determinar qué ventana muestra el panel de tareas personalizado, utilice la sobrecarga de método adecuada Add al crear dicho panel:
Para asociar el panel de tareas a la ventana activa, use el Add método .
Para asociar el panel de tareas a un documento hospedado por una ventana especificada, use el Add método .
Algunas aplicaciones de Office requieren instrucciones explícitas para cuándo crear o mostrar el panel de tareas cuando hay más de una ventana abierta. Esto hace que sea importante tener en cuenta dónde crear instancias del panel de tareas personalizado en el código para asegurarse de que el panel de tareas aparece con los documentos o elementos adecuados de la aplicación. Para obtener más información, consulte Administración de paneles de tareas personalizados en ventanas de aplicación.
Acceso a la aplicación desde el panel de tareas
Si desea automatizar la aplicación desde el control de usuario, puede acceder directamente al modelo de objetos mediante Globals.ThisAddIn.Application en el código. La clase estática Globals proporciona acceso al ThisAddIn objeto . El Application campo de este objeto es el punto de entrada en el modelo de objetos de la aplicación.
Para obtener más información sobre el Application campo del ThisAddIn objeto, vea Programa complementos de VSTO. Para ver un tutorial que muestra cómo automatizar una aplicación desde un panel de tareas personalizado, consulte Tutorial: Aplicación automática desde un panel de tareas personalizado. Para obtener más información sobre la Globals clase , vea Acceso global a objetos en proyectos de Office.
Administrar la interfaz de usuario del panel de tareas
Después de crear el panel de tareas, puede usar propiedades y eventos del CustomTaskPane objeto para controlar la interfaz de usuario del panel de tareas y responder cuando el usuario cambia el panel de tareas.
Hacer que el panel de tareas personalizado sea visible
De forma predeterminada, el panel de tareas no está visible. Para que el panel de tareas sea visible, debe establecer la Visible propiedad en true.
Los usuarios pueden cerrar un panel de tareas en cualquier momento haciendo clic en el botón Cerrar (X) en la esquina del panel de tareas. Sin embargo, no hay ninguna manera predeterminada para que los usuarios vuelvan a abrir el panel de tareas personalizado. Si un usuario cierra un panel de tareas personalizado, ese usuario no puede volver a ver el panel de tareas personalizado a menos que proporcione una manera de mostrarlo.
Si crea un panel de tareas personalizado en el complemento de VSTO, también debe crear un elemento de interfaz de usuario, como un botón, que los usuarios pueden hacer clic para mostrar u ocultar el panel de tareas personalizado. Si crea un panel de tareas personalizado en una aplicación de Microsoft Office que admite la personalización de la cinta de opciones, puede agregar un grupo de control a la cinta de opciones con un botón que muestre u oculte el panel de tareas personalizado. Para ver un tutorial que muestra cómo hacerlo, consulte Tutorial: Sincronizar un panel de tareas personalizado con un botón de cinta de opciones.
Si crea un panel de tareas personalizado en una aplicación de Microsoft Office que no admite la personalización de la cinta de opciones, puede agregar un CommandBarButton que muestre u oculte el panel de tareas personalizado.
Modificar la apariencia del panel de tareas
Puede controlar el tamaño y la ubicación de un panel de tareas personalizado mediante propiedades del CustomTaskPane objeto . Puede realizar muchos otros cambios en la apariencia de un panel de tareas personalizado mediante propiedades del UserControl objeto contenido en el panel de tareas personalizado. Por ejemplo, puede especificar una imagen de fondo para un panel de tareas personalizado mediante la BackgroundImage propiedad del control de usuario.
En la tabla siguiente se enumeran los cambios que puede realizar en un panel de tareas personalizado mediante CustomTaskPane propiedades.
| Tarea | Propiedad |
|---|---|
| Para cambiar el tamaño del panel de tareas | Height Width |
| Para cambiar la ubicación del panel de tareas | DockPosition |
| Para ocultar el panel de tareas o hacer que sea visible | Visible |
| Para evitar que el usuario cambie la ubicación del panel de tareas | DockPositionRestrict |
Programar eventos de panel de tareas personalizados
Es posible que desee que el complemento de VSTO responda cuando el usuario modifique el panel de tareas personalizado. Por ejemplo, si el usuario cambia la orientación del panel de vertical a horizontal, es posible que desee cambiar la posición de los controles.
En la tabla siguiente se enumeran los eventos que puede controlar para responder a los cambios que realiza el usuario en el panel de tareas personalizado.
| Tarea | Event |
|---|---|
| Para responder cuando el usuario cambia la ubicación del panel de tareas. | DockPositionChanged |
| Para responder cuando el usuario oculta el panel de tareas o lo hace visible. | VisibleChanged |
Limpieza de recursos usados por el panel de tareas
Después de crear un panel de tareas personalizado, el CustomTaskPane objeto permanece en memoria siempre que se ejecute el complemento de VSTO. El objeto permanece en memoria incluso después de que el usuario haga clic en el botón Cerrar (X) en la esquina del panel de tareas.
Para limpiar los recursos utilizados por el panel de tareas mientras el complemento VSTO todavía se está ejecutando, use los métodos Remove o RemoveAt. Estos métodos quitan el objeto especificado CustomTaskPane de la CustomTaskPanes colección y llaman al Dispose método del objeto .
El entorno de ejecución de Visual Studio Tools para Office limpia automáticamente los recursos usados por el panel de tareas personalizado cuando se descarga el complemento de VSTO. No llame a los métodos Remove o RemoveAt en el controlador de eventos ThisAddIn_Shutdown de su proyecto. Estos métodos lanzarán un ObjectDisposedException, porque el entorno de ejecución de Visual Studio Tools para Office limpia los recursos utilizados por el objeto CustomTaskPane antes de que se llame a ThisAddIn_Shutdown. Para obtener más información sobre ThisAddIn_Shutdown, vea Eventos en proyectos de Office.
Administrar paneles de tareas personalizados en varias ventanas de aplicación
Al crear un panel de tareas personalizado en una aplicación que usa varias ventanas para mostrar documentos y otros elementos, debe realizar pasos adicionales para asegurarse de que el panel de tareas esté visible cuando el usuario espera que sea.
Los paneles de tareas personalizados de todas las aplicaciones están asociados a una ventana de marco de documento, que presenta una vista de un documento o elemento al usuario. El panel de tareas solo es visible cuando la ventana asociada está visible. Sin embargo, no todas las aplicaciones usan ventanas de marco de documento de la misma manera.
Los siguientes grupos de aplicaciones tienen requisitos de desarrollo diferentes:
Perspectiva
Al crear un panel de tareas personalizado para Outlook, el panel de tareas personalizado está asociado a una ventana específica del Explorador o inspector. Los exploradores son ventanas que muestran el contenido de una carpeta y los inspectores son ventanas que muestran un elemento como un mensaje de correo electrónico o una tarea.
Si desea mostrar un panel de tareas personalizado con varias ventanas de Explorador o Inspector, debe crear una nueva instancia del panel de tareas personalizado cuando se abra una ventana Explorador o Inspector. Para ello, controle un evento que se genera cuando se crea una ventana del Explorador o inspector y, a continuación, cree el panel de tareas en el controlador de eventos. También puede controlar los eventos Explorer e Inspector para ocultar o mostrar paneles de tareas en función de la ventana que esté visible.
Para asociar el panel de tareas a un Explorador o Inspector específico, use el Add método para crear el panel de tareas y pase el Explorer objeto o Inspector al parámetro window . Para obtener más información sobre cómo crear paneles de tareas personalizados, consulte Información general sobre paneles de tareas personalizados.
-
Para supervisar el estado de las ventanas del Inspector, puede controlar los siguientes eventos relacionados con el Inspector.
Impedir varias instancias de un panel de tareas personalizado en Outlook
Para evitar que las ventanas de Outlook muestren varias instancias de un panel de tareas personalizado, quite explícitamente el panel de tareas personalizado de la CustomTaskPanes colección de la ThisAddIn clase cuando se cierre cada ventana. Llame al Remove método en un evento que se genera cuando se cierra una ventana, como Close o Close.
Si no quita explícitamente el panel de tareas personalizado, las ventanas de Outlook pueden mostrar varias instancias del panel de tareas personalizado. Outlook a veces recicla las ventanas y las ventanas recicladas conservan las referencias a los paneles de tareas personalizados adjuntos a ellas.
Word, InfoPath y PowerPoint
Word, InfoPath y PowerPoint muestran cada documento en una ventana de marco de documento diferente. Al crear un panel de tareas personalizado para estas aplicaciones, el panel de tareas personalizado solo está asociado a un documento específico. Si el usuario abre otro documento, el panel de tareas personalizado se oculta hasta que el documento anterior vuelva a estar visible.
Si desea mostrar un panel de tareas personalizado con varios documentos, cree una nueva instancia del panel de tareas personalizado cuando el usuario cree un nuevo documento o abra un documento existente. Para ello, controle los eventos que se generan cuando se crea o abre un documento y, a continuación, crea el panel de tareas en los controladores de eventos. También puede controlar los eventos de documento para ocultar o mostrar paneles de tareas en función de qué documento esté visible.
Para asociar el panel de tareas a una ventana de documento específica, use el Add método para crear el panel de tareas y pasar un Window (para Word), (para InfoPath) WindowObject o DocumentWindow (para PowerPoint) al parámetro window .
Eventos de Word
Para supervisar el estado de las ventanas de documento en Word, puede controlar los siguientes eventos:
Eventos de InfoPath
Para supervisar el estado de las ventanas de documento en InfoPath, puede controlar los siguientes eventos:
Eventos de PowerPoint
Para supervisar el estado de las ventanas de documentos en PowerPoint, puede controlar los siguientes eventos:
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate
Contenido relacionado
- Cómo: Agregar un panel de tareas personalizado a una aplicación
- Tutorial: Automatización de una aplicación desde un panel de tareas personalizado
- Tutorial: Sincronizar un panel de tareas personalizado con un botón de cinta
- Tutorial: Mostrar paneles de tareas personalizados con mensajes de correo electrónico en Outlook