CustomTaskPane Schnittstelle

Definition

Stellt einen benutzerdefinierten Aufgabenbereich in einer Microsoft Office-Anwendung dar.

[System.Runtime.InteropServices.Guid("881b42fd-484d-4494-8500-779de4e4aac1")]
public interface CustomTaskPane : IDisposable
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein benutzerdefinierter Aufgabenbereich mithilfe der-Methode erstellt wird Add(UserControl, String) . Im Beispiel werden Eigenschaften des- CustomTaskPane Objekts verwendet, um die Standarddarstellung des benutzerdefinierten Aufgabenbereichs festzulegen, und es wird ein Ereignishandler für das- DockPositionChanged Ereignis definiert. Um dieses Beispiel zu kompilieren, kopieren Sie den Code in ThisAddIn ein Add-in-Projekt für eine Anwendung, die benutzerdefinierte Aufgabenbereiche unterstützt, in die-Klasse. Ersetzen Sie die Default- ThisAddIn_Startup Methode in der- ThisAddIn Klasse durch die- ThisAddIn_Startup Methode in diesem Beispiel. In diesem Beispiel wird auch davon ausgegangen, dass das Projekt einen mit dem UserControl Namen enthält MyUserControl und ein mit dem UserControl FlowLayoutPanel Namen enthält 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 =
        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;
        }
    }
}
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

Hinweise

Verwenden Sie ein- CustomTaskPane Objekt in einem Add-in auf Anwendungsebene, um einen benutzerdefinierten Aufgabenbereich zu ändern oder um zu reagieren, wenn sich der Speicherort oder die Sichtbarkeit des benutzerdefinierten Aufgabenbereichs ändert. Aufgabenbereiche sind Benutzeroberflächen Bereiche, die in der Regel an eine Seite eines Anwendungsfensters angedockt sind. Weitere Informationen zum Erstellen von benutzerdefinierten Aufgabenbereichen finden Sie unter benutzerdefinierte AufgabenBereiche.

Um die Größe oder den Speicherort des benutzerdefinierten Aufgabenbereichs zu steuern, können Sie Eigenschaften wie Height , Width und verwenden Visible .

Um zu antworten, wenn der benutzerdefinierte Aufgabenbereich die Sichtbarkeit verschiebt oder ändert, können Sie das DockPositionChanged -Ereignis und das- VisibleChanged Ereignis behandeln

Hinweis

Diese Schnittstelle wird von der Visual Studio-Tools für Office-Laufzeit implementiert. Es ist nicht vorgesehen, dass der Typ direkt vom Code implementiert wird. Weitere Informationen finden Sie unter Visual Studio Tools for Office Runtime Overview.

Verwendung

Diese Dokumentation beschreibt die Version des Typs, der in Office-Projekten verwendet wird, die auf .NET Framework 4 und höher ausgerichtet sind. In Projekten, die auf .NET Framework 3.5 abzielen, verfügt dieser Typ möglicherweise über unterschiedliche Member, und die für diesen Typ bereitgestellten Codebeispiele funktionieren möglicherweise nicht. Eine Dokumentation dieser Art von Projekten, die auf den .NET Framework 3.5 abzielen, erhalten Sie in den folgenden Verweisabschnitten in der Dokumentation zu Visual Studio 2008: http://go.microsoft.com/fwlink/?LinkId=160658.

Eigenschaften

Control

Ruft das UserControl ab, das die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs bereitstellt.

DockPosition

Ruft einen Wert ab, der die Position des benutzerdefinierten Aufgabenbereichs relativ zum Anwendungsfenster angibt, oder legt diesen fest.

DockPositionRestrict

Ruft einen Wert ab, der das Andocken des benutzerdefinierten Aufgabenbereichs an der angegebenen Position verhindert, oder legt diesen fest.

Height

Ruft die Höhe des benutzerdefinierten Aufgabenbereichs in Punkt ab oder legt diese fest.

Title

Ruft den Titel des benutzerdefinierten Aufgabenbereichs ab.

Visible

Ruft einen Wert ab, der angibt, ob der benutzerdefinierte Aufgabenbereich sichtbar ist, oder legt diesen fest.

Width

Ruft die Breite des benutzerdefinierten Aufgabenbereichs in Punkt ab oder legt diese fest.

Window

Ruft das Dokumentfenster ab, dem der benutzerdefinierte Aufgabenbereich zugeordnet ist.

Ereignisse

DockPositionChanged

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

VisibleChanged

Tritt ein, wenn der Benutzer den benutzerdefinierten Aufgabenbereich anzeigt oder schließt oder wenn der Wert der Visible-Eigenschaft durch Code geändert wird.

Gilt für