CustomTaskPane (Clase) (2007 System)
Actualización: noviembre 2007
Representa un panel de tareas personalizado en una aplicación de Microsoft Office.
Espacio de nombres: Microsoft.Office.Tools
Ensamblado: Microsoft.Office.Tools.Common.v9.0 (en Microsoft.Office.Tools.Common.v9.0.dll)
Sintaxis
Public NotInheritable Class CustomTaskPane _
Implements IDisposable
Dim instance As CustomTaskPane
public sealed class CustomTaskPane : IDisposable
Comentarios
Utilice la clase CustomTaskPane en un complemento de nivel de aplicación para modificar un panel de tareas personalizado o responder cuando cambie la ubicación o visibilidad de dicho panel.
Para controlar el tamaño o ubicación del panel de tareas personalizado, puede utilizar propiedades como Height, Width y Visible.
Para responder cuando se mueva el panel de tareas personalizado o cambie su visibilidad, puede controlar los eventos DockPositionChanged y VisibleChanged.
Los paneles de tareas son paneles de interfaz de usuario que normalmente están acoplados a un lado de una ventana de aplicación. Para obtener información acerca de cómo se crean los paneles de tareas personalizados, vea Información general sobre los paneles de tareas personalizados.
Ejemplos
El ejemplo de código siguiente muestra cómo crear un panel de tareas personalizado mediante el método Add(UserControl, String). En el ejemplo se utilizan propiedades del objeto CustomTaskPane para establecer la apariencia predeterminada del panel de tareas personalizado y se define un controlador para el evento DockPositionChanged. Para compilar este ejemplo, copie el código en la clase ThisAddIn de un proyecto de aplicación que admita paneles de tareas personalizados. Reemplace el método ThisAddIn_Startup predeterminado de la clase ThisAddIn por el método ThisAddIn_Startup de este ejemplo. En este ejemplo también se supone que el proyecto contiene un control UserControl denominado MyUserControl, y que UserControl contiene un objeto FlowLayoutPanel denominado 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;
}
}
}
Jerarquía de herencia
System.Object
Microsoft.Office.Tools.CustomTaskPane
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.Office.Tools (Espacio de nombres)
Otros recursos
Introducción a la programación de complementos de nivel de aplicación
Información general sobre los paneles de tareas personalizados
Administrar paneles de tareas personalizados en varias ventanas de la aplicación
Cómo: Agregar un panel de tareas personalizado a una aplicación
Tutorial: Automatizar una aplicación desde un panel de tareas personalizado