다음을 통해 공유


CustomTaskPane.DockPositionChanged 이벤트(2007 시스템)

업데이트: 2007년 11월

사용자가 사용자 지정 작업 창의 도킹 위치를 변경할 때 또는 코드를 통해 DockPosition 속성의 값이 변경될 때 발생합니다.

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

구문

Public Event DockPositionChanged As EventHandler

Dim instance As CustomTaskPane
Dim handler As EventHandler

AddHandler instance.DockPositionChanged, handler
public event EventHandler DockPositionChanged

예제

다음 코드 예제에서는 DockPositionChanged 이벤트의 이벤트 처리기를 보여 줍니다. 이 이벤트 처리기는 작업 창에 있는 FlowLayoutPanelFlowDirection 속성을 수정하여 작업 창에서 컨트롤의 가로 또는 세로 정렬을 변경합니다. 이 코드 예제에서는 작업 창에 MyUserControl이라는 UserControl이 포함되어 있고 UserControl에 FlowPanel이라는 FlowLayoutPanel이 포함되어 있다고 가정합니다. 이 예제는 CustomTaskPane 클래스에 대해 제공되는 더 큰 예제의 일부입니다.

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

권한

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

CustomTaskPane 클래스

CustomTaskPane 멤버

Microsoft.Office.Tools 네임스페이스