逐步解說:使用功能區按鈕同步處理自訂工作窗格

此逐步解說示範如何建立自訂工作窗格,使用者可以按一下 [功能區] 上的切換按鈕即可隱藏或顯示該窗格。 您應一律建立使用者介面 (UI) 項目,例如按鈕,讓使用者可以按一下以顯示或隱藏自訂工作窗格,因為 Microsoft Office 應用程式未提供使用者預設的方式以顯示或隱藏自訂工作窗格。

**適用於:**本主題中的資訊適用於下列應用程式的應用程式層級專案:Excel 2007 和 Excel 2010、InfoPath 2007 和 InfoPath 2010、Outlook 2007 和 Outlook 2010、PowerPoint 2007 和 PowerPoint 2010、Word 2007 和 Word 2010。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

雖然這個逐步解說特別使用 Excel,所示範的概念同樣適用以上所列的任何應用程式。

這個逐步解說將說明下列工作:

  • 設計自訂工作窗格的 UI。

  • 將切換按鈕加入至功能區。

  • 同步處理切換按鈕與自訂工作窗格。

注意事項注意事項

在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本和使用的設定決定了這些項目。 如需詳細資訊,請參閱 使用設定

必要條件

您需要下列元件才能完成此逐步解說:

-

包含 Microsoft Office 開發者工具的 Visual Studio 2010 版本。 如需詳細資訊,請參閱[設定電腦以開發 Office 方案](bb398242\(v=vs.100\).md)。
  • Microsoft Office Excel 2007 或 Microsoft Excel 2010。

建立增益集專案

在這個步驟中,您將會建立一個 Excel 增益集專案。

若要建立新的專案

  • 使用 Excel 增益集專案範本建立 Excel 增益集專案,並命名為 SynchronizeTaskPaneAndRibbon。 如需詳細資訊,請參閱 HOW TO:在 Visual Studio 中建立 Office 專案

    Visual Studio 會開啟 ThisAddIn.cs 或 ThisAddIn.vb 程式碼檔,並將 SynchronizeTaskPaneAndRibbon 專案加入至 [方案總管]。

將切換按鈕加入至功能區

其中一個 Office 應用程式設計方針是使用者應一律具有 Office 應用程式 UI 的控制項。 若要讓使用者控制自訂工作窗格,您可以加入會顯示和隱藏工作窗格的功能區切換按鈕。 若要建立切換按鈕,請將 [功能區 (視覺化設計工具)] 項目加入至專案。 設計工具可協助您加入及定位控制項、設定控制項屬性及處理控制項事件。 如需詳細資訊,請參閱 功能區設計工具

若要將切換按鈕加入至功能區

  1. 按一下 [專案] 功能表上的 [加入新項目]。

  2. 選取 [加入新項目] 對話方塊中的 [功能區 (視覺化設計工具)]。

  3. 將新功能區的名稱變更為 ManageTaskPaneRibbon,然後按一下 [加入]。

    ManageTaskPaneRibbon.cs 或 ManageTaskPaneRibbon.vb 檔案會在功能區設計工具中開啟,並顯示預設索引標籤和群組。

  4. 在功能區設計工具中,按一下 [group1]。

  5. 在 [屬性] 視窗中,將 [Label] 屬性設為 Task Pane Manager。

  6. 從 [工具箱 ] 的 [Office 功能區控制項] 索引標籤,將 [ToggleButton] 拖曳到 [Task Pane Manager] 群組上。

  7. 按一下 [toggleButton1]。

  8. 在 [屬性] 視窗中,將 [Label] 屬性設為 Show Task Pane。

設計自訂工作窗格的使用者介面

自訂工作窗格沒有視覺化的設計工具,但是您可以根據需要設計使用者控制項的版面配置。 在此逐步解說後面,您會在自訂工作窗格中加入使用者控制項。

若要設計自訂工作窗格的使用者介面

  1. 在 [專案] 功能表上,按一下 [加入使用者控制項]。

  2. 在 [加入新項目] 對話方塊中,將使用者控制項的名稱變更為 TaskPaneControl,然後按一下 [加入]。

    使用者控制項隨即在設計工具中開啟。

  3. 從 [工具箱] 的 [通用控制項] 索引標籤,將 [TextBox] 控制項拖曳至使用者控制項。

建立自訂工作窗格

若要在增益集啟動時建立自訂工作窗格,請在增益集的 Startup 事件處理常式中,將使用者控制項加入至工作窗格。 根據預設,自訂工作窗格為隱藏狀態。 稍後在本逐步解說中,會加入使用者按一下您加入至功能區的切換按鈕時,顯示或隱藏工作窗格的程式碼。

若要建立自訂工作窗格

  1. 展開 [方案總管] 中的 [ Excel]。

  2. 以滑鼠右鍵按一下 [ThisAddIn.cs] 或 [ThisAddIn.vb],並按一下 [檢視程式碼]。

  3. 將下列程式碼加入 ThisAddIn 類別。 此程式碼會將 TaskPaneControl 執行個體宣告為 ThisAddIn 的成員。

    Private taskPaneControl1 As TaskPaneControl
    Private WithEvents taskPaneValue As Microsoft.Office.Tools.CustomTaskPane
    
    private TaskPaneControl taskPaneControl1;
    private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
    
  4. 以下列程式碼取代 ThisAddIn_Startup 事件處理常式。 此程式碼會將 TaskPaneControl 物件加入至 CustomTaskPanes 欄位,但是不會顯示自訂工作窗格 (根據預設,CustomTaskPane 類別的 Visible 屬性是 false)。 Visual C# 程式碼也會將事件處理常式附加至 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. 將下列方法加入至 ThisAddIn 類別。 這個方法會處理 VisibleChanged 事件。 當使用者按一下 [關閉] 按鈕 (X) 關閉工作窗格時,此方法會更新功能區上切換按鈕的狀態。

    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. 將下列屬性加入至 ThisAddIn 類別。 此屬性會將私用 myCustomTaskPane1 物件公開至其他類別。 稍後在本逐步解說中,您會將程式碼加入至使用此屬性的 MyRibbon 類別。

    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;
        }
    }
    

使用切換按鈕隱藏及顯示自訂工作窗格

最後一個步驟是加入程式碼,該程式碼會在使用者按一下功能區上的切換按鈕時顯示或隱藏自訂工作窗格。

若要使用切換按鈕顯示及隱藏自訂工作窗格

  1. 在功能區設計工具中,按兩下 [顯示工作窗格] 切換按鈕。

    Visual Studio 會自動產生名稱為 toggleButton1_Click 的事件處理常式,該事件處理常式會處理切換按鈕的 Click 事件。 Visual Studio 也會在程式碼編輯器中開啟 MyRibbon.cs 或 MyRibbon.vb 檔案。

  2. 以下列程式碼取代 toggleButton1_Click 事件處理常式。 使用者按一下切換按鈕時,此程式碼會依據是否按下切換按鈕,顯示或隱藏自訂工作窗格。

    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;
    }
    

測試增益集

當您執行專案時,Excel 會開啟但不顯示自訂工作窗格。 按一下功能區上的切換按鈕以測試程式碼。

若要測試增益集

  1. 請按 F5 執行您的專案。

    確認 Excel 開啟,且 [增益集] 索引標籤顯示在功能區上。

  2. 按一下 [功能區] 上的 [增益集] 索引標籤。

  3. 按一下 [Task Pane Manager] 群組中的 [顯示工作窗格] 切換按鈕。

    驗證按一下切換按鈕時工作窗格是否顯示或隱藏。

  4. 工作窗格顯示時,按一下工作窗格角落的 [關閉] 按鈕 (X)。

    驗證是否未按下切換按鈕。

後續步驟

您可以在下列主題中,進一步了解如何建立自訂工作窗格:

請參閱

工作

HOW TO:在應用程式中加入自訂工作窗格

逐步解說:運用自訂工作窗格自動化應用程式

逐步解說:在 Outlook 中的電子郵件訊息顯示自訂工作窗格

HOW TO:在 Outlook 中的電子郵件訊息顯示自訂工作窗格

概念

管理多個應用程式視窗中的自訂工作窗格

其他資源

自訂工作窗格概觀

功能區概觀