Información general sobre los paneles de tareas personalizados

Los paneles de tareas son paneles de interfaz que normalmente están anclados acoplados en un lado de una ventana de una aplicación de Microsoft Office. Los paneles de tareas personalizados le ofrecen una manera de crear su propio panel de tareas y proporcionar a los usuarios una interfaz conocida para tener acceso a las características de su 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 nivel de aplicación para las siguientes aplicaciones: Excel 2007 y Excel 2010; InfoPath 2007 e InfoPath 2010; Outlook 2007 y Outlook 2010; PowerPoint 2007 y PowerPoint 2010; Word 2007 y Word 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Nota

Los paneles de tareas personalizados son diferentes de los paneles de acciones. El panel de acciones forma de las personalizaciones de nivel de documento para Microsoft Office Word y Microsoft Office Excel. Para obtener más información, consulte Información general sobre recuadros de acciones.

Ventajas de los paneles de tareas personalizados

Los paneles de tareas personalizados permiten integrar características en una interfaz de usuario conocida. Puede crear un panel de tareas personalizado rápidamente con las herramientas de Visual Studio.

Interfaz de usuario conocida

Los usuarios de aplicaciones de Microsoft Office System ya están familiarizados con los paneles de tareas como Estilos y formato de Word. Los paneles de tareas personalizados se comportan como otros paneles de tareas en Microsoft Office System. Los usuarios pueden acoplar paneles de tareas personalizados en diferentes lados de la ventana de la aplicación o pueden arrastrar paneles de tareas personalizados a cualquier lugar de la ventana. Puede crear un complemento que muestra varios paneles de tareas personalizados al mismo tiempo y los usuarios pueden controlar individualmente cada panel de tareas personalizado.

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 utilizar el Diseñador de Windows Forms conocido con el fin de diseñar la interfaz de usuario para un panel de tareas personalizado. Puede utilizar la compatibilidad de enlace de datos de los formularios Windows Forms para enlazar un origen de datos a controles en el panel de tareas.

Crear un panel de tareas personalizado

Puede crear un panel de tareas personalizado básico en dos pasos:

  1. Agregue controles de formularios Windows Forms a un objeto UserControl para crear la interfaz de usuario del panel de tareas personalizado.

  2. Para crear instancias del panel de tareas personalizado, pase el control de usuario al objeto CustomTaskPaneCollection de su complemento. Esta colección devuelve un nuevo objeto CustomTaskPane que se puede usar para modificar la apariencia del panel de tareas y responder a eventos de usuario.

Para obtener un ejemplo paso a paso, vea Cómo: Agregar un panel de tareas personalizado a una aplicación.

Crear la interfaz de usuario

Todos los paneles de tareas personalizados que se crean mediante las herramientas de desarrollo de Office en Visual Studio contienen un objeto UserControl. 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 utilizar el Diseñador de Windows Forms para construir la interfaz de usuario del panel de tareas.

Crear una instancia del panel de tareas personalizado

Después de crear un control de usuario que contiene la interfaz de usuario del panel de tareas personalizado, tiene que crear una instancia de CustomTaskPane. Para ello, pase el control de usuario a CustomTaskPaneCollection en el complemento y llame a uno de los métodos Add. Esta colección se expone como el campo CustomTaskPanes de la clase ThisAddIn. El ejemplo de código siguiente está pensado para ejecutarse desde la clase ThisAddIn.

myUserControl1 = New MyUserControl
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "My Task Pane")
myCustomTaskPane.Visible = True
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;

El método Add devuelve un nuevo objeto CustomTaskPane. Puede utilizar este objeto para modificar la apariencia del panel de tareas y responder a eventos del usuario.

Controlar el panel de tareas en varias ventanas

Los paneles de tareas personalizados se asocian a una ventana de marco de documento, que presenta una vista de un documento o un elemento al usuario. El panel de tareas sólo está visible cuando la ventana asociada está visible.

Para determinar qué ventana presenta el panel de tareas personalizado, utilice la sobrecarga del método Add adecuado al crear el panel de tareas:

Algunas aplicaciones de Office requieren instrucciones explícitas sobre cuándo se debe crear el panel de tareas en caso de que haya más de una ventana abierta. Debido a esta circunstancia, resulta importante tener en cuenta dónde se debe crear la instancia del panel de tareas personalizado en el código para garantizar que el panel de tareas aparece con los documentos o elementos adecuados en la aplicación. Para obtener más información, vea Administrar paneles de tareas personalizados en varias ventanas de la aplicación.

Obtener acceso a la aplicación desde el panel de tareas

Si desea automatizar la aplicación desde el control de usuario, puede tener acceso directamente al modelo de objetos si utiliza Globals.ThisAddIn.Application en el código. La clase Globals estática proporciona acceso al objeto ThisAddIn. El campo Application de este objeto es el punto de entrada al modelo de objetos de la aplicación.

Para obtener más información sobre el campo Application del objeto ThisAddIn, vea Programar complementos de nivel de aplicación. Para realizar un tutorial que demuestra cómo automatizar una aplicación desde un panel de tareas personalizado, vea Tutorial: Automatizar una aplicación desde un panel de tareas personalizado. Para obtener más información sobre la clase Globals, vea Acceso global a objetos en los proyectos de Office.

Administrar la interfaz de usuario del panel de tareas

Después de crear el panel de tareas, puede utilizar las propiedades y eventos del objeto CustomTaskPane para controlar la interfaz de usuario del panel de tareas y responder cuando el usuario cambia el panel de tareas.

Hacer visible el panel de tareas personalizado

De forma predeterminada, el panel de tareas no está visible. Para poder verlo, debe establecer la propiedad Visible en true.

Los usuarios pueden cerrar en cualquier momento un panel de tareas haciendo clic en el botón Cerrar (X) en la esquina del panel de tareas. Sin embargo, no existe una forma predeterminada para que los usuarios abran de nuevo el panel de tareas. Si un usuario cierra un panel de tareas personalizado, ese usuario no puede ver el panel de tareas personalizado de nuevo a menos que se proporcione una forma de abrirlo.

Si crea un panel de tareas personalizado en el complemento, debe crear también un elemento de interfaz de usuario, como un botón, en el que los usuarios puedan 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 controles a la cinta de opciones con un botón que muestre u oculte el panel de tareas personalizado. Para realizar un tutorial donde se muestra cómo llevarlo a cabo, vea Tutorial: Sincronizar un panel de tareas personalizado con un botón de la 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 muestra u oculta 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 con las propiedades del objeto CustomTaskPane. Puede realizar muchos otros cambios en la apariencia de un panel de tareas personalizado mediante las propiedades del objeto UserControl que está contenido en el panel de tareas personalizado. Por ejemplo, puede especificar una imagen de fondo para un panel de tareas personalizado con la propiedad BackgroundImage del control de usuario.

En la tabla siguiente se muestran los cambios que puede realizar en un panel de tareas personalizado con las propiedades CustomTaskPane.

Tarea

Propiedad

Cambiar el tamaño del panel de tareas

Height

Width

Cambiar la ubicación del panel de tareas

DockPosition

Ocultar o mostrar el panel de tareas

Visible

Impedir que el usuario cambie la ubicación del panel de tareas

DockPositionRestrict

Programar eventos del panel de tareas personalizado

Quizás desee que el complemento 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, quizás desee cambiar la posición de los controles.

En la tabla siguiente se muestran los eventos que puede controlar para responder a los cambios que el usuario realiza en el panel de tareas personalizado.

Tarea

Evento

Responder cuando el usuario cambia la ubicación del panel de tareas.

DockPositionChanged

Responder cuando el usuario oculta o muestra el panel de tareas.

VisibleChanged

Limpiar los recursos que utiliza el panel de tareas

Después de crear un panel de tareas personalizado, el objeto CustomTaskPane permanece en memoria mientras se ejecuta el complemento. El objeto permanece en memoria incluso después de que el usuario hace clic en el botón Cerrar (X) en la esquina del panel de tareas.

Para limpiar los recursos que utiliza el panel de tareas mientras el complemento sigue en ejecución, utilice el método RemoveAt o Remove. Estos métodos quitan el objeto CustomTaskPane especificado de la colección CustomTaskPanes y llaman al método Dispose() del objeto.

Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office limpia automáticamente los recursos que usa el panel de tareas cuando se descarga el complemento. No llame a los métodos RemoveAt ni Remove en el controlador de eventos ThisAddIn_Shutdown del proyecto. Estos métodos iniciarán una excepción ObjectDisposedException, ya que Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office limpia los recursos que usa el objeto CustomTaskPane antes de que se llame a ThisAddIn_Shutdown. Para obtener más información sobre ThisAddIn_Shutdown, vea Eventos de los proyectos de Office.

Vea también

Tareas

Cómo: Agregar un panel de tareas personalizado a una aplicación

Tutorial: Automatizar una aplicación desde un panel de tareas personalizado

Tutorial: Sincronizar un panel de tareas personalizado con un botón de la cinta de opciones

Tutorial: Mostrar paneles de tareas personalizados con mensajes de correo electrónico en Outlook

Cómo: Mostrar paneles de tareas personalizados con mensajes de correo electrónico en Outlook

Conceptos

Administrar paneles de tareas personalizados en varias ventanas de la aplicación