Share via


Exemplarische Vorgehensweise: Synchronisieren eines benutzerdefinierten Aufgabenbereichs mit einer Menübandschaltfläche

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Sie einen benutzerdefinierten Aufgabenbereich erstellen, den Benutzer ausblenden oder anzeigen können, indem Sie auf eine Umschaltfläche im Menüband klicken. Sie sollten immer ein UI-Element erstellen, z. B. eine Schaltfläche, auf die Benutzer klicken können, um Ihren benutzerdefinierten Aufgabenbereich anzeigen oder ausblenden zu können, da Microsoft Office-Anwendung keine Standardmethode für Benutzer bereitstellen, um benutzerdefinierte Aufgabenbereiche anzuzeigen oder auszublenden.

Gilt für: Die Informationen in diesem Thema gelten für VSTO-Add-In-Projekte für Outlook. Weitere Informationen finden Sie unter features available by Office-App lication and project type.

Obwohl in dieser exemplarischen Vorgehensweise speziell Excel verwendet wird, gelten die Konzepte in dieser exemplarischen Vorgehensweise für alle oben aufgelisteten Anwendungen.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Entwerfen der Benutzeroberfläche (UI) des benutzerdefinierten Aufgabenbereichs

  • Hinzufügen einer Umschaltfläche zum Menüband

  • Synchronisieren der Umschaltfläche mit dem benutzerdefinierten Aufgabenbereich

Hinweis

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren von Visual Studio-IDE.

Voraussetzungen

Zum Abschließen dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

Erstellen des Add-In-Projekts

In diesem Schritt erstellen Sie ein VSTO-Add-In-Projekt für Excel.

So erstellen Sie ein neues Projekt

  1. Erstellen Sie ein Add-In-Projekt für Excel namens SynchronizeTaskPaneAndRibbon, indem Sie die Add-In-Projektvorlage für Excel verwenden. Weitere Informationen finden Sie unter How to: Create Office projects in Visual Studio.

    Visual Studio öffnet die Codedatei ThisAddIn.cs oder ThisAddIn.vb und fügt das SynchronizeTaskPaneAndRibbon-Projekt zu Projektmappen-Explorer hinzu.

Hinzufügen einer Umschaltfläche zum Menüband

Eine der Entwurfsrichtlinien für Office-Anwendungen besagt, dass Benutzer immer die Möglichkeit haben sollen, die Benutzeroberfläche von Office-Anwendungen zu steuern. Damit Benutzer den benutzerdefinierten Aufgabenbereich steuern können, können Sie eine Menübandumschaltfläche hinzufügen, die den Aufgabenbereich anzeigt oder ausblendet. Fügen Sie zum Erstellen einer Umschaltfläche dem Projekt ein Element von Menüband (Visueller Designer) hinzu. Der Designer unterstützt Sie beim Hinzufügen und Anordnen von Steuerelementen, Festlegen von Steuerelementeigenschaften und Behandeln von Ereignissen von Steuerelementen. Weitere Informationen finden Sie im Menüband-Designer.

So fügen Sie dem Menüband eine Umschaltfläche hinzu

  1. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Menüband (Visueller Designer)aus.

  3. Ändern Sie den Namen des neuen Menübands in ManageTaskPaneRibbon, und klicken Sie auf Hinzufügen.

    Die Datei ManageTaskPaneRibbon.cs oder ManageTaskPaneRibbon.vb wird im Menüband-Designer geöffnet. Sie enthält eine Standardregisterkarte und eine Gruppe.

  4. Klicken Sie im Menüband-Designer auf group1.

  5. Legen Sie im Fenster Eigenschaften die Eigenschaft Label auf Task Pane Managerfest.

  6. Ziehen Sie ein ToggleButton -Steuerelement von der Registerkarte Steuerelemente für Office-Menübänderder Toolbox auf die Gruppe Aufgabenbereich-Manager .

  7. Klicken Sie auf toggleButton1.

  8. Legen Sie im Fenster Eigenschaften die Label -Eigenschaft auf Aufgabenbereich anzeigenfest.

Entwerfen der Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs

Es gibt keinen visuellen Designer für benutzerdefinierte Aufgabenbereiche, Sie können aber dennoch ein Benutzersteuerelement mit dem gewünschten Layout entwerfen. Im weiteren Verlauf dieser exemplarischen Vorgehensweise fügen Sie dem benutzerdefinierten Aufgabenbereich das Benutzersteuerelement hinzu.

So entwerfen Sie die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs

  1. Klicken Sie im Menü Projekt auf Benutzersteuerelement hinzufügen.

  2. Ändern Sie im Dialogfeld Neues Element hinzufügen den Namen des neuen Benutzersteuerelements in TaskPaneControl, und klicken Sie dann auf Hinzufügen.

    Das Benutzersteuerelement wird im Designer geöffnet.

  3. Ziehen Sie von der Registerkarte Allgemeine Steuerelemente der Toolboxein TextBox -Steuerelement auf das Benutzersteuerelement.

Erstellen des benutzerdefinierten Aufgabenbereichs

Um den benutzerdefinierten Aufgabenbereich beim Starten des VSTO-Add-Ins zu erstellen, fügen Sie dem Aufgabenbereich das Benutzersteuerelement im Startup -Ereignishandler des VSTO-Add-Ins hinzu. Standardmäßig wird der benutzerdefinierte Aufgabenbereich nicht angezeigt. Später in dieser exemplarischen Vorgehensweise fügen Sie Code hinzu, der den Aufgabenbereich anzeigt oder ausblendet, wenn der Benutzer auf die Umschaltfläche klickt, die Sie dem Menüband hinzugefügt haben.

So erstellen Sie den benutzerdefinierten Aufgabenbereich

  1. Erweitern Sie im Projektmappen-Explorerdie Option Excel.

  2. Klicken Sie mit der rechten Maustaste auf ThisAddIn.cs oder ThisAddIn.vb , und klicken Sie auf Code anzeigen.

  3. Fügen Sie der ThisAddIn -Klasse den folgenden Code hinzu. Durch diesen Code wird eine Instanz von TaskPaneControl als Member von ThisAddIndeklariert.

    private TaskPaneControl taskPaneControl1;
    private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
    
  4. Ersetzen Sie den ThisAddIn_Startup -Ereignishandler durch den folgenden Code. Dieser Code fügt das TaskPaneControl -Objekt zum CustomTaskPanes -Feld hinzu, zeigt aber nicht den benutzerdefinierten Aufgabenbereich an (standardmäßig ist die Visible -Eigenschaft der CustomTaskPane -Klasse false). Der Visual C#-Code fügt dem VisibleChanged -Ereignis auch einen Ereignishandler an.

    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. Fügen Sie der ThisAddIn-Klasse die folgende Methode hinzu. Diese Methode behandelt das VisibleChanged -Ereignis. Wenn der Benutzer den Aufgabenbereich durch Klicken auf die Schaltfläche Schließen (X) schließt, aktualisiert diese Methode den Zustand der Umschaltfläche im Menüband.

    private void taskPaneValue_VisibleChanged(object sender, System.EventArgs e)
    {
        Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = 
            taskPaneValue.Visible;
    }
    
  6. Fügen Sie der ThisAddIn -Klasse folgende Eigenschaft hinzu. Diese Eigenschaft stellt das private taskPaneValue -Objekt für andere Klassen bereit. Weiter unten in dieser exemplarischen Vorgehensweise werden Sie Code zur MyRibbon -Klasse hinzufügen, der diese Eigenschaft verwendet.

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

Ausblenden und Anzeigen des benutzerdefinierten Aufgabenbereichs mithilfe der Umschaltfläche

Im letzte Schritt wird Code hinzugefügt, der den benutzerdefinierten Aufgabenbereich anzeigt oder ausblendet, wenn der Benutzer im Menüband auf die Umschaltfläche klickt.

So zeigen Sie den benutzerdefinierten Aufgabenbereich mithilfe der Umschaltfläche an oder blenden ihn aus

  1. Doppelklicken Sie im Menüband-Designer auf die Umschaltfläche Aufgabenbereich anzeigen .

    Visual Studio generiert automatisch einen Ereignishandler namens toggleButton1_Click, der das Click -Ereignis der Umschaltfläche verarbeitet. Visual Studio öffnet außerdem die Datei MyRibbon.cs oder MyRibbon.vb im Code-Editor.

  2. Ersetzen Sie den toggleButton1_Click -Ereignishandler durch den folgenden Code. Wenn der Benutzer auf die Umschaltfläche klickt, zeigt dieser Code den benutzerdefinierten Aufgabenbereich an oder blendet ihn aus, je nachdem, ob die Umschaltfläche gedrückt wird oder nicht.

    private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked;
    }
    

Testen des Add-Ins

Wenn Sie das Projekt ausführen, wird Excel geöffnet, ohne den benutzerdefinierten Aufgabenbereich anzuzeigen. Klicken Sie auf die Umschaltfläche im Menüband, um den Code zu testen.

So testen Sie Ihr VSTO-Add-In

  1. Drücken Sie F5, um das Projekt auszuführen.

    Vergewissern Sie sich, dass Excel geöffnet wird und die Registerkarte "Add-Ins " im Menüband angezeigt wird.

  2. Klicken Sie im Menüband auf die Registerkarte "Add-Ins ".

  3. Klicken Sie auf die Gruppe Aufgabenbereich-Manager und dann auf die Umschaltfläche Aufgabenbereich anzeigen .

    Überprüfen Sie, ob der Aufgabenbereich abwechselnd angezeigt und ausgeblendet wird, wenn Sie auf die Umschaltfläche klicken.

  4. Wenn der Aufgabenbereich angezeigt wird, klicken Sie in der Ecke des Aufgabenbereichs auf die Schaltfläche Schließen (X).

    Stellen Sie sicher, dass die Umschaltfläche als nicht gedrückt angezeigt wird.

Nächste Schritte

Weitere Informationen über das Erstellen von benutzerdefinierten Aufgabenbereichen finden Sie in diesen Themen: