CustomTaskPane Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |