CustomTaskPane Interface


Microsoft Office アプリケーションのカスタム作業ウィンドウを表します。Represents a custom task pane in a Microsoft Office application.

public interface CustomTaskPane : IDisposable

次のコード例に示しますを使用して、カスタム作業ウィンドウを作成する方法、Add(UserControl, String)メソッド。The following code example demonstrates how to create a custom task pane by using the Add(UserControl, String) method. 例では、プロパティを使用して、 CustomTaskPane 、カスタム作業ウィンドウの既定の外観を設定するオブジェクトし、のイベント ハンドラーを定義、DockPositionChangedイベント。The example uses properties of the CustomTaskPane object to set the default appearance of the custom task pane, and it defines an event handler for the DockPositionChanged event. この例をコンパイルするにコードをコピー、ThisAddInカスタム作業ウィンドウをサポートするアプリケーション用のアドイン プロジェクトのクラス。To compile this example, copy the code into the ThisAddIn class in an add-in project for an application that supports custom task panes. 既定値を置き換えるThisAddIn_Startupメソッドで、ThisAddInクラス、ThisAddIn_Startupこの例のメソッド。Replace the default ThisAddIn_Startup method in the ThisAddIn class with the ThisAddIn_Startup method in this example. この例では、プロジェクトが含まれている想定しています、UserControlという名前MyUserControl、およびUserControlが含まれています、FlowLayoutPanelというFlowPanelThis example also assumes that the project contains a UserControl named MyUserControl, and the UserControl contains a FlowLayoutPanel named FlowPanel.

private MyUserControl myUserControl1;
private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

private void ThisAddIn_Startup(object sender, System.EventArgs e)
    myUserControl1 = new MyUserControl();
    myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1,
        "New Task Pane");

    myCustomTaskPane.DockPosition =
    myCustomTaskPane.Height = 500;
    myCustomTaskPane.Width = 500;

    myCustomTaskPane.DockPosition =
    myCustomTaskPane.Width = 300;

    myCustomTaskPane.Visible = true;
    myCustomTaskPane.DockPositionChanged +=
        new EventHandler(myCustomTaskPane_DockPositionChanged);

private void myCustomTaskPane_DockPositionChanged(object sender, EventArgs e)
    Microsoft.Office.Tools.CustomTaskPane taskPane =
        sender as Microsoft.Office.Tools.CustomTaskPane;

    if (taskPane != null)
        // Adjust sizes of user control and flow panel to fit current task pane size.
        MyUserControl userControl = taskPane.Control as MyUserControl;
        System.Drawing.Size paneSize = new System.Drawing.Size(taskPane.Width, taskPane.Height);
        userControl.Size = paneSize;
        userControl.FlowPanel.Size = paneSize;

        // Adjust flow direction of controls on the task pane.
        if (taskPane.DockPosition == 
            Office.MsoCTPDockPosition.msoCTPDockPositionTop ||
            taskPane.DockPosition ==
            userControl.FlowPanel.FlowDirection =
            userControl.FlowPanel.FlowDirection =
Private myUserControl1 As MyUserControl
Private WithEvents myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Startup

    myUserControl1 = New MyUserControl()
    myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "New Task Pane")

    With myCustomTaskPane
        .DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionFloating
        .Height = 500
        .Width = 500
        .DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight
        .Width = 300
        .Visible = True
    End With
End Sub

Private Sub myCustomTaskPane_DockPositionChanged(ByVal sender As Object, _
    ByVal e As EventArgs) Handles myCustomTaskPane.DockPositionChanged

    Dim taskPane As Microsoft.Office.Tools.CustomTaskPane = _
        TryCast(sender, Microsoft.Office.Tools.CustomTaskPane)

    If taskPane IsNot Nothing Then

        ' Adjust sizes of user control and flow panel to fit current task pane size.
        Dim userControl As MyUserControl = TryCast(taskPane.Control, MyUserControl)
        Dim paneSize As System.Drawing.Size = _
            New System.Drawing.Size(taskPane.Width, taskPane.Height)
        userControl.Size = paneSize
        userControl.FlowPanel.Size = paneSize

        ' Adjust flow direction of controls on the task pane.
        If taskPane.DockPosition = _
            Office.MsoCTPDockPosition.msoCTPDockPositionTop Or _
            taskPane.DockPosition = _
            Office.MsoCTPDockPosition.msoCTPDockPositionBottom Then

            userControl.FlowPanel.FlowDirection = _
            userControl.FlowPanel.FlowDirection = _
        End If
    End If
End Sub


使用して、CustomTaskPaneアプリケーション レベル アドインのカスタム作業ウィンドウを変更する、または場所またはカスタム作業ウィンドウの表示を変更するときの応答内のオブジェクト。Use a CustomTaskPane object in an application-level add-in to modify a custom task pane, or to respond when the location or visibility of the custom task pane changes. 作業ウィンドウは、通常、アプリケーション ウィンドウの一方の側にドッキングされるユーザー インターフェイス パネルです。Task panes are user interface panels that are typically docked to one side of an application window. カスタム作業ウィンドウを作成する方法については、次を参照してください。カスタム作業ウィンドウします。For information about how to create custom task panes, see Custom Task Panes.

サイズやカスタム作業ウィンドウの場所を制御するプロパティを使用できますなどHeightWidth、およびVisibleします。To control the size or location of the custom task pane, you can use properties such as Height, Width, and Visible.

カスタム作業ウィンドウの移動または表示を変更するときの応答を処理することができます、DockPositionChangedVisibleChangedイベント。To respond when the custom task pane moves or changes visibility, you can handle the DockPositionChanged and VisibleChanged events.


これは、Visual Studio Tools for Office Runtime によって実装されたインターフェイスです。This interface is implemented by the Visual Studio Tools for Office runtime. コードに実装されるものではありません。It is not intended to be implemented in your code. 詳細については、「 Visual Studio Tools for Office Runtime Overview」を参照してください。For more information, see Visual Studio Tools for Office Runtime Overview.


ここでは、.NET Framework 4 以降を対象とする Office プロジェクトで使用される型のバージョンについて説明します。This documentation describes the version of this type that is used in Office projects that target the .NET Framework 4 or later. .NET Framework 3.5 を対象とするプロジェクトでは、この型のメンバーが異なること、およびこのコード例が動作しないことがあります。In projects that target the .NET Framework 3.5, this type might have different members and the code examples provided for this type might not work. .NET Framework 3.5 を対象とするプロジェクトの型の詳細については、Visual Studio 2008 ドキュメントの次の参照セクションを参照してください。 documentation about this type in projects that target the .NET Framework 3.5, see the following reference section in the Visual Studio 2008 documentation:



カスタム作業ウィンドウのユーザー インターフェイスを提供する UserControl を取得します。Gets the UserControl that provides the user interface of the custom task pane.


アプリケーション ウィンドウを基準としたカスタム作業ウィンドウの配置場所を指定する値を取得または設定します。Gets or sets a value that specifies where the custom task pane is located relative to the application window.


カスタム作業ウィンドウを特定の位置にドッキングしないようにする値を取得または設定します。 Gets or sets a value that prevents the custom task pane from being docked in the specified position.


カスタム作業ウィンドウの高さをポイント単位で取得または設定します。Gets or sets the height of the custom task pane, in points.


カスタム作業ウィンドウのタイトルを取得します。Gets the title of the custom task pane.


カスタム作業ウィンドウを表示するかどうかを指定する値を取得または設定します。Gets or sets a value that specifies whether the custom task pane is visible.


カスタム作業ウィンドウの幅をポイント単位で取得または設定します。Gets or sets the width of the custom task pane, in points.


カスタム作業ウィンドウが関連付けられているドキュメント ウィンドウを取得します。Gets the document window that the custom task pane is associated with.



ユーザーがカスタム作業ウィンドウのドッキング位置を変更した場合や、コードによって DockPosition プロパティの値が変更された場合に発生します。Occurs when the user changes the dock position of the custom task pane, or when code changes the value of the DockPosition property.


ユーザーがカスタム作業ウィンドウを表示または終了した場合や、コードによって Visible プロパティの値が変更された場合に発生します。Occurs when the user displays or closes the custom task pane, or when code changes the value of the Visible property.