CustomTaskPane Класс (2007 System)
Обновлен: Ноябрь 2007
Представляет настраиваемые области задач в приложении Microsoft Office.
Пространство имен: Microsoft.Office.Tools
Сборка: Microsoft.Office.Tools.Common.v9.0 (в Microsoft.Office.Tools.Common.v9.0.dll)
Синтаксис
'Декларация
Public NotInheritable Class CustomTaskPane _
Implements IDisposable
'Применение
Dim instance As CustomTaskPane
public sealed class CustomTaskPane : IDisposable
Заметки
Используйте класс CustomTaskPane в надстройке уровня приложения для изменения настраиваемой области задач или ответа при изменении расположения или видимости настраиваемой области задач.
Для управления размером или расположением настраиваемой области можно использовать свойства, например Height, Width и Visible.
Чтобы реагировать на перемещение настраиваемой области задач или изменение видимости, можно обрабатывать события DockPositionChanged и VisibleChanged.
Области задач — это области пользовательского интерфейса, которые обычно закрепляются у одного края окна приложения. Дополнительные сведения о создании настраиваемых областей задач см. в разделе Общие сведения о настраиваемых областях задач.
Примеры
В следующем примере кода показано, как создать настраиваемую область задач с помощью метода Add(UserControl, String). В примере для задания стандартного внешнего вида настраиваемой области задач используются свойства объекта CustomTaskPane и определяется обработчик событий DockPositionChanged. Для компиляции этого примера скопируйте код в класс ThisAddIn в проекте надстройки приложения, которое поддерживает настраиваемые области задач. Замените метод по умолчанию ThisAddIn_Startup в классе ThisAddIn методом ThisAddIn_Startup из этого примера. В данном примере также предполагается, что в проекте содержится элемент управления UserControl с именем MyUserControl, а элемент управления UserControl, в свою очередь, содержит элемент управления FlowLayoutPanel с именем 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;
}
}
}
Иерархия наследования
System.Object
Microsoft.Office.Tools.CustomTaskPane
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.Office.Tools - пространство имен
Другие ресурсы
Приступая к программированию надстроек на уровне приложения
Общие сведения о настраиваемых областях задач
Управление настраиваемыми областями задач в нескольких окнах приложений
Практическое руководство. Добавление настраиваемой панели задач в приложение
Руководство. Автоматизация приложения в настраиваемой области задач