Classe CustomTaskPane (System 2007)
Aggiornamento: novembre 2007
Rappresenta un riquadro attività personalizzato in un'applicazione di Microsoft Office.
Spazio dei nomi: Microsoft.Office.Tools
Assembly: Microsoft.Office.Tools.Common.v9.0 (in Microsoft.Office.Tools.Common.v9.0.dll)
Sintassi
Public NotInheritable Class CustomTaskPane _
Implements IDisposable
Dim instance As CustomTaskPane
public sealed class CustomTaskPane : IDisposable
Note
Utilizzare la classe CustomTaskPane in un componente aggiuntivo a livello di applicazione per modificare un riquadro attività personalizzato oppure per rispondere a eventi correlati alla modifica della posizione o della visibilità del riquadro attività personalizzato.
Per controllare le dimensioni o la posizione del riquadro attività personalizzato, è possibile utilizzare proprietà quali Height, Width e Visible.
Per rispondere a eventi correlati allo spostamento del riquadro attività personalizzato o alla modifica della visibilità del riquadro, è possibile gestire gli eventi DockPositionChanged e VisibleChanged.
I riquadri attività sono pannelli dell'interfaccia utente in genere ancorati a un lato della finestra di un'applicazione. Per informazioni sulla creazione di riquadri attività personalizzati, vedere Cenni preliminari sui riquadri attività personalizzati.
Esempi
Nell'esempio di codice seguente viene illustrato come creare un riquadro attività personalizzato utilizzando il metodo Add(UserControl, String). Nell'esempio vengono utilizzate proprietà dell'oggetto CustomTaskPane per impostare l'aspetto predefinito del riquadro attività personalizzato e viene definito un gestore per l'evento DockPositionChanged. Per la compilazione dell'esempio, copiare il codice nella classe ThisAddIn in un progetto di componente aggiuntivo per un'applicazione che supporta riquadri attività personalizzati. Sostituire il metodo ThisAddIn_Startup predefinito nella classe ThisAddIn con il metodo ThisAddIn_Startup dell'esempio. Nell'esempio si presuppone inoltre che il progetto contenga un oggetto UserControl denominato MyUserControl e che l'oggetto UserControl contenga un oggetto FlowLayoutPanel denominato 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;
}
}
}
Gerarchia di ereditarietà
System.Object
Microsoft.Office.Tools.CustomTaskPane
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.Office.Tools
Altre risorse
Guida introduttiva alla programmazione di componenti aggiuntivi a livello di applicazione
Cenni preliminari sui riquadri attività personalizzati
Gestione dei riquadri attività personalizzati in più finestre dell'applicazione
Procedura: aggiungere un riquadro attività personalizzato a un'applicazione
Procedura dettagliata: automazione di un'applicazione da un riquadro attività personalizzato