CustomTaskPane インターフェイス
Microsoft Office アプリケーションのカスタム作業ウィンドウを表します。
名前空間: Microsoft.Office.Tools
アセンブリ: Microsoft.Office.Tools.Common (Microsoft.Office.Tools.Common.dll 内)
構文
'宣言
<GuidAttribute("881b42fd-484d-4494-8500-779de4e4aac1")> _
Public Interface CustomTaskPane _
Inherits IDisposable
[GuidAttribute("881b42fd-484d-4494-8500-779de4e4aac1")]
public interface CustomTaskPane : IDisposable
CustomTaskPane 型で公開されるメンバーは以下のとおりです。
プロパティ
名前 | 説明 | |
---|---|---|
Control | カスタム作業ウィンドウのユーザー インターフェイスを提供する UserControl を取得します。 | |
DockPosition | アプリケーション ウィンドウを基準としたカスタム作業ウィンドウの配置場所を指定する値を取得または設定します。 | |
DockPositionRestrict | カスタム作業ウィンドウを特定の位置にドッキングしないようにする値を取得または設定します。 | |
Height | カスタム作業ウィンドウの高さをポイント単位で取得または設定します。 | |
Title | カスタム作業ウィンドウのタイトルを取得します。 | |
Visible | カスタム作業ウィンドウを表示するかどうかを指定する値を取得または設定します。 | |
Width | カスタム作業ウィンドウの幅をポイント単位で取得または設定します。 | |
Window | カスタム作業ウィンドウが関連付けられているドキュメント ウィンドウを取得します。 |
このページのトップへ
メソッド
名前 | 説明 | |
---|---|---|
Dispose | アンマネージ リソースの解放およびリセットに関連付けられているアプリケーション定義のタスクを実行します。 (IDisposable から継承されます。) |
このページのトップへ
イベント
名前 | 説明 | |
---|---|---|
DockPositionChanged | ユーザーがカスタム作業ウィンドウのドッキング位置を変更した場合や、コードによって DockPosition プロパティの値が変更された場合に発生します。 | |
VisibleChanged | ユーザーがカスタム作業ウィンドウを表示または終了した場合や、コードによって Visible プロパティの値が変更された場合に発生します。 |
このページのトップへ
解説
カスタム作業ウィンドウを変更したり、カスタム作業ウィンドウの場所または外観の変更に応答したりするには、アプリケーション レベルのアドインの CustomTaskPane オブジェクトを使用します。 作業ウィンドウは、アプリケーション ウィンドウのいずれかの端に通常ドッキングされているユーザー インターフェイス パネルです。 カスタム作業ウィンドウの作成方法の詳細については、「カスタム作業ウィンドウの概要」を参照してください。
カスタム作業ウィンドウのサイズや場所を制御するには、Height、Width、Visible などのプロパティを使用します。
カスタム作業ウィンドウの移動や外観の変更に応答するには、DockPositionChanged イベントおよび VisibleChanged イベントを処理します。
注意
これは、Visual Studio Tools for Office ランタイムによって実装されたインターフェイスです。 コードに実装されるものではありません。 詳細については、「Visual Studio Tools for Office Runtime の概要」を参照してください。
使用方法
ここでは、.NET Framework 4 を対象とする Office プロジェクトで使用される型のバージョンについて説明します。.NET Framework 3.5 を対象とするプロジェクトでは、この型のメンバーが異なること、およびこのコード例が動作しないことがあります。 .NET Framework 3.5 を対象とするプロジェクトの型の詳細については、Visual Studio 2008 ドキュメントの参照セクション https://go.microsoft.com/fwlink/?LinkId=160658 を参照してください。
例
次のコード例は、Add(UserControl, String) メソッドを使用してカスタム作業ウィンドウを作成する方法を示します。 このコード例では、CustomTaskPane オブジェクトのプロパティを使用してカスタム作業ウィンドウの既定の外観を設定し、DockPositionChanged イベントのイベント ハンドラーを定義します。 このコード例をコンパイルするには、カスタム作業ウィンドウをサポートしているアプリケーション用のアドイン プロジェクトの ThisAddIn クラスにコードをコピーします。 ThisAddIn クラスの既定の ThisAddIn_Startup メソッドを、このコード例の ThisAddIn_Startup メソッドに置き換えてください。 この例は、プロジェクトに MyUserControl という名前の UserControl が存在すること、および、UserControl に FlowPanel という名前の FlowLayoutPanel が存在することを前提としています。
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;
}
}
}
参照
参照
その他の技術情報
複数のアプリケーション ウィンドウでカスタム作業ウィンドウを管理する