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

En este tutorial se muestra cómo crear un panel de tareas personalizado que los usuarios puedan ocultar o mostrar haciendo clic en un botón de alternancia en la cinta de opciones. Siempre se debe crear 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, 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 complementos de VSTO para Outlook. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

Aunque en este tutorial se usa Excel específicamente, los conceptos que se muestran aquí también se aplican a cualquiera de las aplicaciones antes mencionadas.

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 tu 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 se tenga y la configuración que se utilice determinan estos elementos. Para más información, vea Personalizar el IDE de Visual Studio.

Requisitos previos

Necesitará los componentes siguientes para completar este tutorial:

Creación del proyecto de complemento

En este paso, creará un proyecto de complemento de VSTO para Excel.

Para crear un nuevo proyecto

  1. Cree un proyecto de 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 a 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, vea Diseñador de cintas 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 ManageTaskPaneRibbony 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 pestaña y un grupo predeterminados.

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

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

  6. En la pestaña Controles de la cinta de opciones de Office del Cuadro de herramientas, arrastre ToggleButton al grupo Administrador de panel de tareas .

  7. Haga clic en toggleButton1.

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

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

No hay ningún diseñador visual para los paneles de tareas personalizados, pero puede diseñar un control de usuario según sus gustos. 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 TaskPaneControly haga clic en Agregar.

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

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

Creación del panel de tareas personalizado

Para crear el panel de tareas personalizado cuando se inicia el complemento de VSTO, agregue el control de usuario al panel de tareas en el controlador de eventos Startup del complemento de VSTO. De forma predeterminada, el panel de tareas personalizado estará oculto. 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 derecho en el archivo ThisAddin.cs o ThisAddin.vb y luego haga clic en Ver código.

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

    private TaskPaneControl taskPaneControl1;
    private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
    
  4. Reemplace el controlador de eventos ThisAddIn_Startup por el siguiente código: 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 asocia un controlador de eventos al evento VisibleChanged .

    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 siguiente método 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 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 taskPaneValue privado a otras clases. Más adelante en este tutorial, agregará código a la clase MyRibbon que usa esta propiedad.

    public Microsoft.Office.Tools.CustomTaskPane TaskPane
    {
        get
        {
            return taskPaneValue;
        }
    }
    

Ocultar y mostrar el panel de tareas personalizado mediante 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 controla 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 eventos toggleButton1_Click por el siguiente código: 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 dicho botón está o no presionado.

    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 de la cinta de opciones para probar el código.

Para probar el complemento de VSTO

  1. Presione F5 para ejecutar el proyecto.

    Confirme que Excel se abre y aparece la pestaña Complementos en la cinta de opciones.

  2. Haga clic en la pestaña Complementos de la cinta de opciones.

  3. En el grupo Administrador del panel de tareas , haga clic en el botón de alternancia Mostrar panel de tareas .

    Compruebe que el panel de tareas se muestra y oculta 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

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