다음을 통해 공유


CustomTaskPane 인터페이스

Microsoft Office 응용 프로그램의 사용자 지정 작업 창을 나타냅니다.

네임스페이스:  Microsoft.Office.Tools
어셈블리:  Microsoft.Office.Tools.Common(Microsoft.Office.Tools.Common.dll)

구문

‘선언
<GuidAttribute("881b42fd-484d-4494-8500-779de4e4aac1")> _
Public Interface CustomTaskPane _
    Inherits IDisposable
[GuidAttribute("881b42fd-484d-4494-8500-779de4e4aac1")]
public interface CustomTaskPane : IDisposable

CustomTaskPane 형식에서는 다음과 같은 멤버를 노출합니다.

속성

  이름 설명
Public 속성 Control 사용자 지정 작업 창의 사용자 인터페이스를 제공하는 UserControl을 가져옵니다.
Public 속성 DockPosition 응용 프로그램 창을 기준으로 사용자 지정 작업 창이 배치되는 위치를 지정하는 값을 가져오거나 설정합니다.
Public 속성 DockPositionRestrict 사용자 지정 작업 창이 지정된 위치에 도킹되지 않도록 하는 값을 가져오거나 설정합니다.
Public 속성 Height 사용자 지정 작업 창의 높이를 포인트 단위로 가져오거나 설정합니다.
Public 속성 Title 사용자 지정 작업 창의 제목을 가져옵니다.
Public 속성 Visible 사용자 지정 작업 창의 표시 여부를 지정하는 값을 가져오거나 설정합니다.
Public 속성 Width 사용자 지정 작업 창의 너비를 포인트 단위로 가져오거나 설정합니다.
Public 속성 Window 사용자 지정 작업 창이 연결된 문서 창을 가져옵니다.

위쪽

메서드

  이름 설명
Public 메서드 Dispose 관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 응용 프로그램 정의 작업을 수행합니다. (IDisposable에서 상속됨)

위쪽

이벤트

  이름 설명
Public 이벤트 DockPositionChanged 사용자가 사용자 지정 작업 창의 도킹 위치를 변경할 때 또는 코드를 통해 DockPosition 속성의 값이 변경될 때 발생합니다.
Public 이벤트 VisibleChanged 사용자가 사용자 지정 작업 창을 표시하거나 닫을 때 또는 코드에서 Visible 속성의 값이 변경될 때 발생합니다.

위쪽

설명

응용 프로그램 수준 추가 기능에서 CustomTaskPane 개체를 사용하여 사용자 지정 작업 창을 수정할 수도 있고, 사용자 지정 작업 창의 위치 또는 표시 여부가 변경되는 경우에 응답할 수도 있습니다. 작업 창은 일반적으로 응용 프로그램 창의 한 쪽에 도킹되는 사용자 인터페이스 패널입니다. 사용자 지정 작업 창을 만드는 방법에 대한 자세한 내용은 사용자 지정 작업 창 개요를 참조하십시오.

사용자 지정 작업 창의 크기나 위치를 제어하려면 Height, WidthVisible 등의 속성을 사용합니다.

사용자 지정 작업 창이 이동하거나 표시 여부가 변경되는 경우에 응답하려면 DockPositionChangedVisibleChanged 이벤트를 처리합니다.

참고

이 인터페이스는 Visual Studio Tools for Office Runtime에 의해 구현되며 코드에서 직접 구현할 수는 없습니다. 자세한 내용은 Visual Studio Tools for Office 런타임 개요를 참조하십시오.

용도

이 문서에서는 .NET Framework 4를 대상으로 하는 Office 프로젝트에서 사용되는 이 형식의 버전을 설명합니다. .NET Framework 3.5를 대상으로 하는 프로젝트에서는 이 형식의 멤버가 다를 수 있으며 이 형식을 위해 제공되는 코드 예제가 작동하지 않을 수도 있습니다. .NET Framework 3.5를 대상으로 하는 프로젝트의 이 형식에 대한 문서는 Visual Studio 2008 설명서의 다음 참조 섹션을 참조하십시오. https://go.microsoft.com/fwlink/?LinkId=160658.

예제

다음 코드 예제에서는 Add(UserControl, String) 메서드를 사용하여 사용자 지정 작업 창을 만드는 방법을 보여 줍니다. 이 예제에서는 CustomTaskPane 개체의 속성을 사용하여 사용자 지정 작업 창의 기본 모양을 설정하고 DockPositionChanged 이벤트의 이벤트 처리기를 정의합니다. 이 예제를 컴파일하려면 사용자 지정 작업 창을 지원하는 응용 프로그램의 추가 기능 프로젝트에 있는 ThisAddIn 클래스에 코드를 복사해야 합니다. 이때 ThisAddIn 클래스의 기본 ThisAddIn_Startup 메서드는 이 예제의 ThisAddIn_Startup 메서드로 바꿉니다. 이 예제에서는 또한 프로젝트에 MyUserControl이라는 UserControl이 포함되어 있고 UserControl에 FlowPanel이라는 FlowLayoutPanel이 포함되어 있다고 가정합니다.

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 = _
                System.Windows.Forms.FlowDirection.LeftToRight
        Else
            userControl.FlowPanel.FlowDirection = _
                System.Windows.Forms.FlowDirection.TopDown
        End If
    End If
End Sub
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 =
        Office.MsoCTPDockPosition.msoCTPDockPositionFloating;
    myCustomTaskPane.Height = 500;
    myCustomTaskPane.Width = 500;

    myCustomTaskPane.DockPosition =
        Office.MsoCTPDockPosition.msoCTPDockPositionRight;
    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 ==
            Office.MsoCTPDockPosition.msoCTPDockPositionBottom)
        {
            userControl.FlowPanel.FlowDirection =
                System.Windows.Forms.FlowDirection.LeftToRight;
        }
        else
        {
            userControl.FlowPanel.FlowDirection =
                System.Windows.Forms.FlowDirection.TopDown;
        }
    }
}

참고 항목

참조

Microsoft.Office.Tools 네임스페이스

기타 리소스

응용 프로그램 수준 추가 기능 프로그래밍 시작

사용자 지정 작업 창 개요

여러 응용 프로그램 창의 사용자 지정 작업 창 관리

방법: 응용 프로그램에 사용자 지정 작업 창 추가

연습: 사용자 지정 작업 창을 사용하여 응용 프로그램 자동화