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

En este tutorial se muestra cómo crear un panel de tareas personalizado que los usuarios pueden ocultar o mostrar haciendo clic en un botón de alternancia en la cinta de opciones. Siempre debería crear un elemento de la interfaz de usuario, como un botón, en el que los usuarios puedan hacer clic para mostrar u ocultar el panel de tareas personalizado, porque las aplicaciones de Microsoft Office no proporcionan una manera predeterminada para que los usuarios muestren u oculten los paneles de tareas personalizados.

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.

Aunque en este tutorial se usa específicamente Excel, los conceptos que se muestran en el mismo se pueden aplicar a cualquiera de las aplicaciones enumeradas anteriormente.

En este tutorial se muestran las tareas siguientes:

  • Diseñar la interfaz de usuario del panel de tareas personalizado.

  • Agregar un botón de alternancia a la cinta de opciones.

  • Sincronizar el botón de alternancia con el panel de tareas personalizado.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que tenga y la configuración que esté utilizando determinan estos elementos. Para obtener más información, vea Trabajar con valores de configuración.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

-

Una edición de Visual Studio 2010 que incluye las herramientas para desarrolladores de Microsoft Office. Para obtener más información, vea [Configurar un equipo para desarrollar soluciones de Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Excel 2007 o Microsoft Excel 2010.

Crear el proyecto de complemento

En este paso creará un proyecto de aplicación de complemento para Excel.

Para crear un nuevo proyecto

  • Cree un proyecto Complemento de Excel con el nombre SynchronizeTaskPaneAndRibbon mediante la plantilla de proyecto Complemento de Excel. Para obtener más información, vea Cómo: Crear proyectos de Office en Visual Studio.

    Visual Studio abre el archivo de código ThisAddIn.cs o ThisAddIn.vb y agrega el proyecto SynchronizeTaskPaneAndRibbon al Explorador de soluciones.

Agregar un botón de alternancia a la cinta de opciones

Una de las instrucciones de diseño de las aplicaciones de Office es que los usuarios siempre deberían tener control de su interfaz de usuario. Para que los usuarios puedan controlar el panel de tareas personalizado, puede agregar un botón de alternancia a la cinta de opciones que muestre y oculte el panel de tareas. Para crear un botón de alternancia, agregue un elemento Cinta (diseñador visual) al proyecto. El diseñador ayuda a agregar y colocar controles, a establecer las propiedades del control y a controlar los eventos de control. Para obtener más información, consulte Diseñador de la cinta de opciones.

Para agregar un botón de alternancia a la cinta de opciones

  1. En el menú Proyecto, haga clic en Agregar nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, seleccione Cinta (diseñador visual).

  3. Cambie el nombre de la nueva cinta de opciones por ManageTaskPaneRibbon y haga clic en Agregar.

    El archivo ManageTaskPaneRibbon.cs o ManageTaskPaneRibbon.vb se abre en el diseñador de la cinta de opciones y muestra una ficha y un grupo predeterminados.

  4. En el diseñador de la cinta de opciones, haga clic en group1.

  5. En la ventana Propiedades , establezca la propiedad Label en Administrador del panel de tareas.

  6. En la ficha Controles de la cinta de opciones de Office del Cuadro de herramientas, arrastre ToggleButton al grupo Task Pane Manager.

  7. Haga clic en toggleButton1.

  8. En la ventana Propiedades , establezca la propiedad Label en Mostrar panel de tareas.

Diseñar la interfaz de usuario del panel de tareas personalizado

No existe ningún diseñador visual para los paneles de tareas personalizados, pero puede diseñar un control de usuario con la distribución que desee. Más adelante en este tutorial, agregará el control de usuario al panel de tareas personalizado.

Para diseñar la interfaz de usuario del panel de tareas personalizado

  1. En el menú Proyecto, haga clic en Agregar control de usuario.

  2. En el cuadro de diálogo Agregar nuevo elemento, cambie el nombre del control de usuario a TaskPaneControl y haga clic en Agregar.

    Se abre el control de usuario en el diseñador.

  3. En la ficha Controles comunes del Cuadro de herramientas, arrastre un control TextBox hasta el control de usuario.

Crear el panel de tareas personalizado

Para crear el panel de tareas personalizado cuando se inicia el complemento, agregue el control de usuario al panel de tareas en el controlador de eventos Startup del complemento. De forma predeterminada, el panel de tareas personalizado no estará visible. Más adelante en este tutorial agregará código que mostrará u ocultará el panel de tareas cuando el usuario haga clic en el botón de alternancia que agregó a la cinta de opciones.

Para crear el panel de tareas personalizado

  1. En el Explorador de soluciones, expanda Excel.

  2. Haga clic con el botón secundario del mouse en ThisAddIn.cs o ThisAddIn.vb, y haga clic en Ver código.

  3. Agregue el código siguiente a la clase ThisAddIn. Este código declara una instancia de TaskPaneControl como miembro de ThisAddIn.

    Private taskPaneControl1 As TaskPaneControl
    Private WithEvents taskPaneValue As Microsoft.Office.Tools.CustomTaskPane
    
    private TaskPaneControl taskPaneControl1;
    private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
    
  4. Reemplace el controlador de evento ThisAddIn_Startup con el código siguiente. Este código agrega el objeto TaskPaneControl al campo CustomTaskPanes, pero no muestra el panel de tareas personalizado (de forma predeterminada, la propiedad Visible de la clase CustomTaskPane es false). El código de Visual C# también adjunta un controlador de eventos al evento VisibleChanged.

    Private Sub ThisAddIn_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        taskPaneControl1 = New TaskPaneControl()
        taskPaneValue = Me.CustomTaskPanes.Add( _
            taskPaneControl1, "MyCustomTaskPane")
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        taskPaneControl1 = new TaskPaneControl();
        taskPaneValue = this.CustomTaskPanes.Add(
            taskPaneControl1, "MyCustomTaskPane");
        taskPaneValue.VisibleChanged +=
            new EventHandler(taskPaneValue_VisibleChanged);
    }
    
  5. Agregue el método siguiente a la clase ThisAddIn. Este método controla el evento VisibleChanged. Cuando el usuario cierra el panel de tareas haciendo clic en el botón Cerrar (X), este método actualiza el estado del botón de alternancia en la cinta de opciones.

    Private Sub taskPaneValue_VisibleChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles taskPaneValue.VisibleChanged
    
        Globals.Ribbons.ManageTaskPaneRibbon.ToggleButton1.Checked = taskPaneValue.Visible
    End Sub
    
    private void taskPaneValue_VisibleChanged(object sender, System.EventArgs e)
    {
        Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = 
            taskPaneValue.Visible;
    }
    
  6. Agregue la siguiente propiedad a la clase ThisAddIn. Esta propiedad expone el objeto myCustomTaskPane1 privado a otras clases. Más adelante en este tutorial agregará código a la clase MyRibbon que utiliza esta propiedad.

    Public ReadOnly Property TaskPane() As Microsoft.Office.Tools.CustomTaskPane
        Get
            Return taskPaneValue
        End Get
    End Property
    
    public Microsoft.Office.Tools.CustomTaskPane TaskPane
    {
        get
        {
            return taskPaneValue;
        }
    }
    

Ocultar y mostrar el panel de tareas personalizado con el botón de alternancia

El último paso consiste en agregar código que muestre u oculte el panel de tareas personalizado cuando el usuario haga clic en el botón de alternancia en la cinta de opciones.

Para mostrar y ocultar el panel de tareas personalizado con el botón de alternancia

  1. En el diseñador de la cinta de opciones, haga doble clic en el botón de alternancia Mostrar panel de tareas.

    Visual Studio genera automáticamente un controlador de eventos denominado toggleButton1_Click, que administra el evento Click del botón de alternancia. Visual Studio también abre el archivo MyRibbon.cs o MyRibbon.vb en el Editor de código.

  2. Reemplace el controlador de evento toggleButton1_Click con el código siguiente. Cuando el usuario hace clic en el botón de alternancia, este código muestra u oculta el panel de tareas personalizado, dependiendo de si el botón de alternancia está presionado o no.

    Private Sub ToggleButton1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles ToggleButton1.Click
    
        Globals.ThisAddIn.TaskPane.Visible = _
            TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked
    End Sub
    
    private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked;
    }
    

Probar el complemento

Al ejecutar el proyecto, Excel se abre sin mostrar el panel de tareas personalizado. Haga clic en el botón de alternancia en la cinta de opciones para probar el código.

Para probar el complemento

  1. Presione F5 para ejecutar el proyecto.

    Confirme que Excel se abre y que la ficha Complementos aparece en la cinta de opciones.

  2. Haga clic en la ficha Complementos de la cinta de opciones.

  3. En el grupo Task Pane Manager, haga clic en el botón de alternancia Show Task Pane.

    Compruebe que el panel de tareas se muestra y oculta alternativamente al hacer clic en el botón de alternancia.

  4. Cuando el panel de tareas esté visible, haga clic en el botón Cerrar (X) en la esquina del panel de tareas.

    Compruebe que el botón de alternancia aparece como no presionado.

Pasos siguientes

Puede obtener más información sobre cómo crear paneles de tareas personalizados en estos temas:

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: 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

Otros recursos

Información general sobre los paneles de tareas personalizados

Información general sobre la cinta de opciones