CustomTaskPane.DockPositionChanged (Evento) (2007 System)
Actualización: noviembre 2007
Se produce cuando el usuario cambia la posición de acoplamiento del panel de tareas personalizado o cuando el código cambia el valor de la propiedad DockPosition.
Espacio de nombres: Microsoft.Office.Tools
Ensamblado: Microsoft.Office.Tools.Common.v9.0 (en Microsoft.Office.Tools.Common.v9.0.dll)
Sintaxis
Public Event DockPositionChanged As EventHandler
Dim instance As CustomTaskPane
Dim handler As EventHandler
AddHandler instance.DockPositionChanged, handler
public event EventHandler DockPositionChanged
Ejemplos
En el siguiente ejemplo de código, se muestra un controlador para el evento DockPositionChanged. Este controlador de eventos cambia la organización horizontal o vertical de los controles del panel de tareas modificando la propiedad FlowDirection de un objeto FlowLayoutPanel en el panel de tareas. En este ejemplo de código se supone que el panel de tareas contiene un control UserControl denominado MyUserControl y que UserControl contiene un objeto FlowLayoutPanel denominado FlowPanel. Este ejemplo forma parte de un ejemplo más extenso referente a la clase CustomTaskPane.
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 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;
}
}
}
Permisos
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.