CustomTaskPane, classe (System 2007)
Mise à jour : novembre 2007
Représente un volet de tâches personnalisé dans une application Microsoft Office.
Espace de noms : Microsoft.Office.Tools
Assembly : Microsoft.Office.Tools.Common.v9.0 (dans Microsoft.Office.Tools.Common.v9.0.dll)
Syntaxe
Public NotInheritable Class CustomTaskPane _
Implements IDisposable
Dim instance As CustomTaskPane
public sealed class CustomTaskPane : IDisposable
Notes
Utilisez la classe CustomTaskPane dans un complément au niveau de l'application pour modifier un volet de tâches personnalisé ou répondre lorsque l'emplacement ou la visibilité du volet de tâches personnalisé change.
Pour contrôler la taille ou l'emplacement du volet de tâches personnalisé, vous pouvez utiliser des propriétés telles que Height, Width et Visible.
Pour répondre lorsque le volet de tâches personnalisé se déplace ou change de visibilité, vous pouvez gérer les événements DockPositionChanged et VisibleChanged.
Les volets de tâches sont des panneaux d'interface utilisateur généralement ancrés à l'un des côtés d'une fenêtre d'application. Pour plus d'informations sur la création de volets de tâches personnalisés, consultez Vue d'ensemble des volets de tâches personnalisés.
Exemples
L'exemple de code suivant montre comment créer un volet de tâches personnalisé à l'aide de la méthode Add(UserControl, String). L'exemple utilise des propriétés de l'objet CustomTaskPane pour définir l'apparence par défaut du volet de tâches personnalisé et définit un gestionnaire d'événements pour l'événement DockPositionChanged. Pour compiler cet exemple, copiez le code dans la classe ThisAddIn, dans un projet de complément pour une application prenant en charge les volets de tâches personnalisés. Remplacez la méthode ThisAddIn_Startup par défaut dans la classe ThisAddIn par la méthode ThisAddIn_Startup dans cet exemple. Cet exemple suppose également que le projet contient un UserControl appelé MyUserControl et le UserControl, un FlowLayoutPanel appelé FlowPanel.
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;
}
}
}
Hiérarchie d'héritage
System.Object
Microsoft.Office.Tools.CustomTaskPane
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.Office.Tools, espace de noms
Autres ressources
Mise en route de la programmation de compléments d'application
Vue d'ensemble des volets de tâches personnalisés
Gestion des volets de tâches personnalisés dans plusieurs fenêtres d'application
Comment : ajouter un volet de tâches personnalisé à une application
Procédure pas à pas : automatisation d'une application à partir d'un volet de tâches personnalisé