Freigeben über


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 (User Interface) erstellen, z. B. eine Schaltfläche, auf die Benutzer klicken können, um Ihren benutzerdefinierten Aufgabenbereich anzuzeigen oder auszublenden, da Microsoft Office-Anwendungen keine Standardmäßige Möglichkeit zum Ein- oder Ausblenden von benutzerdefinierten Aufgabenbereichen bieten.

Gilt für: Die Informationen in diesem Thema gelten für VSTO-Add-In-Projekte für Outlook. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.

Obwohl diese exemplarische Vorgehensweise Excel speziell verwendet, gelten die konzepte, die durch die exemplarische Vorgehensweise veranschaulicht werden, für alle Anwendungen, die oben aufgeführt sind.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Entwerfen der Benutzeroberfläche 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

Sie benötigen die folgenden Komponenten, um diese Schritt-für-Schritt-Anleitung abzuschließen.

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 mithilfe der Excel-Add-In-Projektvorlage ein Excel-Add-In-Projekt mit dem Namen SynchronizeTaskPaneAndRibbon. Weitere Informationen finden Sie unter How to: Create Office projects in Visual Studio.

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

Fügen Sie eine Umschaltfläche zum Menüband hinzu

Einer der Entwurfsrichtlinien für Office-Anwendungen besteht darin, dass Benutzer immer die Kontrolle über die Office-Anwendungs-UI haben sollten. Damit Benutzer den benutzerdefinierten Aufgabenbereich steuern können, können Sie eine Umschaltfläche des Menübands hinzufügen, die den Aufgabenbereich ein- und ausblendet. Um eine Umschaltfläche zu erstellen, fügen Sie dem Projekt ein Ribbon (Visual Designer)-Element hinzu. Der Designer unterstützt Sie beim Hinzufügen und Positionieren von Steuerelementen, beim Festlegen von Steuerelementeigenschaften und beim Behandeln von Steuerelementereignissen. 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 das Ribbon (Visual 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 und zeigt eine Standardregisterkarte und -gruppe an.

  4. Klicken Sie im Menüband-Designer auf "Gruppe1".

  5. Legen Sie im Eigenschaftenfenster die Label-Eigenschaft auf Taskpane-Manager setzen.

  6. Ziehen Sie auf der Registerkarte Steuerelemente des Office-Menübands der Toolbox ein ToggleButton auf die Gruppe Taskbereich-Manager.

  7. Klicken Sie auf "toggleButton1".

  8. Legen Sie im Eigenschaftenfenster die Label-Eigenschaft auf "Aufgabenbereich anzeigen" fest.

Entwerfen der Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs

Es gibt keinen visuellen Designer für benutzerdefinierte Aufgabenbereiche, aber Sie können ein Benutzersteuerelement mit dem gewünschten Layout entwerfen. Später in dieser Anleitung fügen Sie das Benutzersteuerelement zum benutzerdefinierten Aufgabenbereich 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 Benutzersteuerelements in "TaskPaneControl", und klicken Sie auf "Hinzufügen".

    Das Benutzersteuerelement wird im Designer geöffnet.

  3. Ziehen Sie auf der Registerkarte "Allgemeine Steuerelemente " der Toolbox ein TextBox-Steuerelement auf das Benutzersteuerelement.

Erstellen des benutzerdefinierten Aufgabenbereichs

Um den benutzerdefinierten Aufgabenbereich beim Start des VSTO-Add-Ins zu erstellen, fügen Sie das Benutzersteuerelement dem Aufgabenbereich im Startup Ereignishandler des VSTO-Add-Ins hinzu. Standardmäßig ist der benutzerdefinierte Aufgabenbereich nicht sichtbar. 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-ExplorerExcel.

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

  3. Fügen Sie der Klasse den folgenden Code hinzu ThisAddIn . Dieser Code deklariert eine Instanz von TaskPaneControl als Mitglied von ThisAddIn.

    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 dem CustomTaskPanes Feld hinzu, zeigt jedoch nicht den benutzerdefinierten Aufgabenbereich an (standardmäßig ist die Visible Eigenschaft der CustomTaskPane Klasse falsch). Der Visual C#-Code fügt auch einen Ereignishandler an das VisibleChanged Ereignis 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üge 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 Klasse die folgende Eigenschaft hinzu ThisAddIn . Diese Eigenschaft macht das private taskPaneValue Objekt für andere Klassen verfügbar. Später in dieser Anleitung fügen Sie der MyRibbon-Klasse, die diese Eigenschaft verwendet, Code hinzu.

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

Ausblenden und Anzeigen des benutzerdefinierten Aufgabenbereichs mithilfe der Umschaltfläche

Der letzte Schritt besteht darin, Code hinzuzufügen, der den benutzerdefinierten Aufgabenbereich anzeigt oder ausblendet, wenn der Benutzer auf die Umschaltfläche im Menüband klickt.

So zeigen Sie den benutzerdefinierten Aufgabenbereich mithilfe der Umschaltfläche an und blenden diesen 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 behandelt. Visual Studio öffnet auch die MyRibbon.cs - oder MyRibbon.vb-Datei 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 gerade gedrückt ist 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 Ihr 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 in der Gruppe "Aufgabenbereich-Manager " auf die Umschaltfläche " Aufgabenbereich anzeigen".

    Stellen Sie sicher, dass 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 erscheint.

Nächste Schritte

Weitere Informationen zum Erstellen von benutzerdefinierten Aufgabenbereichen finden Sie in den folgenden Themen: