Freigeben über


CustomTaskPane.DockPositionChanged-Ereignis (2007 System)

Aktualisiert: November 2007

Tritt ein, wenn der Benutzer die Andockposition des benutzerdefinierten Aufgabenbereichs ändert oder wenn der Wert der DockPosition-Eigenschaft durch Code geändert wird.

Namespace:  Microsoft.Office.Tools
Assembly:  Microsoft.Office.Tools.Common.v9.0 (in Microsoft.Office.Tools.Common.v9.0.dll)

Syntax

Public Event DockPositionChanged As EventHandler

Dim instance As CustomTaskPane
Dim handler As EventHandler

AddHandler instance.DockPositionChanged, handler
public event EventHandler DockPositionChanged

Beispiele

Im folgenden Codebeispiel wird ein Ereignishandler für das DockPositionChanged-Ereignis veranschaulicht. Mit diesem Ereignishandler wird die horizontale oder vertikale Anordnung von Steuerelementen im Aufgabenbereich durch Ändern der FlowDirection-Eigenschaft eines FlowLayoutPanel im Aufgabenbereich verändert. In diesem Codebeispiel wird davon ausgegangen, dass der Aufgabenbereich ein UserControl mit dem Namen MyUserControl enthält und das UserControl ein FlowLayoutPanel mit dem Namen FlowPanel enthält. Dieses Beispiel ist Teil eines umfangreicheren Beispiels für die CustomTaskPane-Klasse.

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

Berechtigungen

Siehe auch

Referenz

CustomTaskPane-Klasse

CustomTaskPane-Member

Microsoft.Office.Tools-Namespace