Compartir a través de


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 Outlook 2013 y Outlook 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, vea Información general sobre paneles 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.

Aa942864.collapse_all(es-es,VS.110).gifInterfaz 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.

Aa942864.collapse_all(es-es,VS.110).gifCompatibilidad 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 más información, vea Cómo: Agregar un panel de tareas personalizado a una aplicación.

Aa942864.collapse_all(es-es,VS.110).gifCrear 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.

Aa942864.collapse_all(es-es,VS.110).gifCrear 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.

Aa942864.collapse_all(es-es,VS.110).gifControlar 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 los paneles de tareas personalizados en 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.

Aa942864.collapse_all(es-es,VS.110).gifHacer 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.

Aa942864.collapse_all(es-es,VS.110).gifModificar 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

Aa942864.collapse_all(es-es,VS.110).gifProgramar 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.

Runtime 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 Runtime 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.

Administrar los paneles de tareas personalizados en las ventanas de la aplicación de Varias

Al crear un panel de tareas personalizado en una aplicación que utiliza varias ventanas para mostrar documentos y otros elementos, necesita pasos adicionales para asegurarse de que el panel de tareas está visible cuando el usuario espera que lo esté.

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 un elemento al usuario.El panel de tareas sólo está visible cuando la ventana asociada está visible.Sin embargo, no todas las aplicaciones utilizan las ventanas de marco de documento de la misma manera.

Los grupos de aplicaciones siguientes tienen requisitos de desarrollo diferentes:

  • Outlook

  • Word, InfoPath, y PowerPoint

vínculo a vídeo Dispone de una demostración en vídeo relacionada en How Do I: Manage Task Panes in Word Add-ins?.

Outlook

Cuando crea un panel de tareas personalizado para Outlook, éste se asocia a una ventana de explorador o de inspector específica.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 de inspector, debe crear una nueva instancia del panel cuando se abre una nueva ventana de explorador o de inspector.Para ello, administre un evento que se provoque al crear una ventana de explorador o inspector y, a continuación, cree el panel de tareas en el controlador de eventos.También puede administrar los eventos del explorador y del inspector para ocultar o mostrar paneles de tareas en función de la ventana visible.

Para asociar el panel de tareas a un explorador o un inspector específico, use el método CustomTaskPaneCollection.Add(UserControl, String, Object) para crear el panel de tareas y pase el objeto Explorer o Inspector al parámetro window.Para obtener más información acerca de la creación de paneles de tareas personalizados, vea Paneles de tareas personalizados.

Para tener acceso a un tutorial que muestra cómo crear un panel de tareas para cada mensaje de correo electrónico que se abre, vea Tutorial: Mostrar paneles de tareas personalizados con mensajes de correo electrónico en Outlook.

Aa942864.collapse_all(es-es,VS.110).gifEventos de Outlook

Para supervisar el estado de las ventanas del explorador, puede administrar los siguientes eventos relacionados con el explorador:

Para supervisar el estado de las ventanas de inspector, puede administrar los siguientes eventos relacionados con el inspector:

Aa942864.collapse_all(es-es,VS.110).gifEvitar 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 colección CustomTaskPanes de la clase ThisAddIn cuando se cierra cada ventana.Llame al método Remove en un evento que se produce cuando se cierra una ventana, como ExplorerEvents_10_Event.Close o InspectorEvents_10_Event.Close.

Si no quita explícitamente el panel de tareas personalizado, las ventanas de Outlook pueden mostrar varias instancias del mismo.Outlook recicla a veces las ventanas, que una vez recicladas mantienen referencias a los paneles de tareas personalizados que estén adjuntos a ellas.

Word, InfoPath, y PowerPoint

Presentación de word, de InfoPath, y de PowerPoint cada documento en una ventana de marco de documento diferente.Al crear un panel de tareas personalizado para estas aplicaciones, el panel sólo se asocia a un documento concreto.Si el usuario abre un documento diferente, el panel de tareas personalizado se oculta hasta que el documento anterior está de nuevo visible.

Si desea mostrar un panel de tareas personalizado con varios documentos, cree una nueva instancia del panel cuando el usuario cree un nuevo documento o abra un documento existente.Para ello, administre eventos que se provoquen al crear o abrir un documento y, a continuación, cree el panel de tareas en los controladores de eventos.También puede administrar eventos de documento para ocultar o mostrar los paneles de tareas en función del documento visible.

Para asociar el panel de tareas a una ventana de documento específica, use el método CustomTaskPaneCollection.Add(UserControl, String, Object) para crear el panel de tareas, y pasar Microsoft.Office.Interop.Word.Window (para word), Microsoft.Office.Interop.InfoPath.WindowObject (para InfoPath), o Microsoft.Office.Interop.PowerPoint.DocumentWindow (para PowerPoint) al parámetro window .

Aa942864.collapse_all(es-es,VS.110).gifEventos de Word

Para supervisar el estado de ventanas de documento en Word, puede administrar los eventos siguientes:

Aa942864.collapse_all(es-es,VS.110).gifEventos de InfoPath

Para supervisar el estado de ventanas de documento en InfoPath, puede administrar los eventos siguientes:

Aa942864.collapse_all(es-es,VS.110).gifEventos de PowerPoint

Para supervisar el estado de ventanas de documento en PowerPoint, puede controlar los eventos siguientes:

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