CustomTaskPane-Schnittstelle

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

Namespace:  Microsoft.Office.Tools
Assemblys:   Microsoft.Office.Tools.Common.v4.0.Utilities (in Microsoft.Office.Tools.Common.v4.0.Utilities.dll)
  Microsoft.Office.Tools.Outlook.v4.0.Utilities (in Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll)
  Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
  Microsoft.Office.Tools.Common (in Microsoft.Office.Tools.Common.dll)
  Microsoft.Office.Tools.Word.v4.0.Utilities (in Microsoft.Office.Tools.Word.v4.0.Utilities.dll)

Syntax

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

Der CustomTaskPane-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Control Ruft das UserControl ab, das die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs bereitstellt.
Öffentliche Eigenschaft DockPosition Ruft einen Wert ab, der die Position des benutzerdefinierten Aufgabenbereichs relativ zum Anwendungsfenster angibt, oder legt diesen fest.
Öffentliche Eigenschaft DockPositionRestrict Ruft einen Wert ab, der das Andocken des benutzerdefinierten Aufgabenbereichs an der angegebenen Position verhindert, oder legt diesen fest.
Öffentliche Eigenschaft Height Ruft die Höhe des benutzerdefinierten Aufgabenbereichs in Punkt ab oder legt diese fest.
Öffentliche Eigenschaft Title Ruft den Titel des benutzerdefinierten Aufgabenbereichs ab.
Öffentliche Eigenschaft Visible Ruft einen Wert ab, der angibt, ob der benutzerdefinierte Aufgabenbereich sichtbar ist, oder legt diesen fest.
Öffentliche Eigenschaft Width Ruft die Breite des benutzerdefinierten Aufgabenbereichs in Punkt ab oder legt diese fest.
Öffentliche Eigenschaft Window Ruft das Dokumentfenster ab, dem der benutzerdefinierte Aufgabenbereich zugeordnet ist.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Dispose Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurückgeben oder Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen. (Von IDisposable geerbt.)

Zum Seitenanfang

Ereignisse

  Name Beschreibung
Öffentliches Ereignis DockPositionChanged Tritt ein, wenn der Benutzer die Andockposition des benutzerdefinierten Aufgabenbereichs ändert oder wenn der Wert der DockPosition-Eigenschaft durch Code geändert wird.
Öffentliches Ereignis 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.

Zum Seitenanfang

Hinweise

Verwenden Sie ein CustomTaskPane-Objekt in einem Add-In auf Anwendungsebene, um einen benutzerdefinierten Aufgabenbereich zu ändern oder auf Änderungen der Position oder Sichtbarkeit des benutzerdefinierten Aufgabenbereichs zu reagieren.Aufgabenbereiche sind Bereiche der Benutzeroberfläche, die i. d. R. an eine Seite eines Anwendungsfensters angedockt sind.Informationen zum Erstellen von benutzerdefinierten Aufgabenbereichen finden Sie unter Benutzerdefinierte Aufgabenbereiche.

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

Um auf Änderungen der Position oder Sichtbarkeit des benutzerdefinierten Aufgabenbereichs zu reagieren, können Sie das DockPositionChanged-Ereignis und das VisibleChanged-Ereignis behandeln.

HinweisHinweis

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 Übersicht über die Visual Studio Tools for Office-Laufzeit.

Verwendung

Diese Dokumentation beschreibt die Version des Typs, der in Office-Projekten verwendet wird, die auf .NET Framework 4 und .NET Framework 4.5 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. Dokumentation zu diesem Typ in Projekten mit der Zielversion .NET Framework 3.5 finden Sie im folgenden Verweisabschnitt in der Visual Studio 2008-Dokumentation: https://go.microsoft.com/fwlink/?LinkId=160658.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe der Add(UserControl, String)-Methode ein benutzerdefinierter Aufgabenbereich erstellt wird.Im Beispiel wird die Standarddarstellung des benutzerdefinierten Aufgabenbereichs mithilfe von Eigenschaften des CustomTaskPane-Objekts festgelegt, und es wird ein Ereignishandler für das DockPositionChanged-Ereignis definiert.Um dieses Beispiel zu kompilieren, kopieren Sie den Code in die ThisAddIn-Klasse in einem Add-In-Projekt für eine Anwendung, die benutzerdefinierte Aufgabenbereiche unterstützt.Ersetzen Sie die ThisAddIn_Startup-Standardmethode in der ThisAddIn-Klasse durch die ThisAddIn_Startup-Methode in diesem Beispiel.In diesem Codebeispiel wird außerdem davon ausgegangen, dass das Projekt ein UserControl mit dem Namen MyUserControl enthält und das UserControl ein FlowLayoutPanel mit dem Namen FlowPanel enthält.

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

Siehe auch

Referenz

Microsoft.Office.Tools-Namespace

Weitere Ressourcen

Erste Schritte beim Programmieren von Add-Ins auf Anwendungsebene

Benutzerdefinierte Aufgabenbereiche

Gewusst wie: Hinzufügen eines benutzerdefinierten Aufgabenbereichs zu einer Anwendung

Exemplarische Vorgehensweise: Automatisieren einer Anwendung über einen benutzerdefinierten Aufgabenbereich