バージョン

WinDockManager デザインタイム機能

WinDockManager は、ドッキングされたコントロールの作成と管理を容易にするために、Visual Studio .NET に対するさまざまなサポートと統合を提供しています。ここでは、これらのデザイン機能の概要について説明します。

コンテキスト メニュー

WinDockManager コンポーネントを作成すると、Visual Studio により提供される右クリックのコンテキスト メニューへのエントリが追加されます。ドッキングされていないコントロールをひとつまたは複数選択すると、コントロールのコンテキスト メニューで [コントロールのドック] オプションが使用できます。このメニュー項目を選択するとダイアログが表示され、どのタイプの DockAreaPane を作成するかを指定できます。

ドッキングされているコントロール(すでに DockableControlPanes によって含まれているコントロール)をひとつまたは複数選択した場合は、[コントロールのドック] オプションがチェック状態で表示されます。このオプションを選択するとプロンプトが表示され、選択したコントロールのドッキングを解除するかどうかを尋ねられます。解除を確定した場合はコントロールの親が変更され、ドック マネージャを格納しているホスト コントロールが親になります。ドッキングされているコントロールとドッキングされていないコントロールを同時に選択したときは、[コントロールのドック] メニューは使用できません。

WinDockManager Design Time Functionality 01.png
Note
コントロールの Dock プロパティが Fill に設定されていてコントロールがドッキングされていない場合、[コントロールのドック] メニュー オプションは使用できません。これは、フォームの内側のクライアント領域に提供することを目的とするパネルなどのコントロールが誤ってドッキングされるのを防ぐためです。このようなコントロールは、新しい UltraToolbarsManager を作成するときに自動的に作成されます。

新しいドック領域ダイアログ

ドッキングされていないコントロールをひとつまたは複数選択し、上記で説明した [コントロールのドック] コンテキスト メニューオプションを選択すると、新しい DockAreaPane のスタイルと位置を指定するダイアログ ボックスが表示されます。選択したコントロールが上部に一覧表示され、一覧の右側にある矢印を使用して並べ替えることができます。この順序は、新しい DockAreaPane の Panes コレクションにおける項目の順序に反映され、その結果、ペインの表示される順序に反映されます。[ドック領域位置] で指定する位置によって、新しいドック領域が作成される場所が決まります。[子ペイン スタイル] では、作成するグループのタイプを決定できます。このタイプは、後でドック領域の ChildPaneStyle プロパティを変更することによっていつでも変更できます。[OK] を選択すると、新しい DockAreaPane が作成され、コントロールの親が新しい DockableControlPane インスタンスに変更されます。

WinDockManager Design Time Functionality 02.png

コントロール ペイン プロパティ タブ

ドッキングされているコントロールをひとつまたは複数選択すると、Visual Studio .NET のプロパティ グリッドで追加のプロパティ タブ オプションが使用可能になります。プロパティ グリッドに表示されるアイコンは、UltraDockManager エレメントのツールボックス ビットマップに使用されているものと同じアイコンです。このプロパティ タブを選択すると、選択したコントロールに関連付けられた DockableControlPane のプロパティが表示されます。これを使用して、ドッキングされているコントロールのプロパティ(ペイン キャプション、タブ キャプション、Appearance プロパティなど)を簡単に変更できます。

WinDockManager Design Time Functionality 03.png

ドラッグ

ドッキングされているコントロールはランタイムとまったく同様に、デザインタイムにドラッグおよびフローティングできます。ペインをドラッグするには、そのキャプション、タブ、またはスライド グループ ボタンの上でマウスの左ボタンを押しながら移動します。マウスを画面上で移動すると、ドロップの輪郭線が表示され、ペインの配置される場所を示します。ドラッグ中にドラッグ操作をキャンセルする場合は、ESC キーを押します。ペインを強制的にフローティング状態のままにする場合は、ドラッグ操作中に CTRL キーを押したままにします。マウスボタンを離すと、ドラッグされたペインを格納する新しい DockAreaPane が作成されます。

Note
タブ項目のキャプションをドラッグすると、表示されているすべてのピン固定ペインの位置が変更されます。

状態の切り替え

Visual Studio .NET と同様に、ペイン キャプションまたはタブ項目をダブルクリックすると、ペインの状態がフローティング位置とドッキング位置とで切り替わります。この動作は再帰的であり、すべての子ペインがそれぞれ前の位置に変更されます。たとえば、DockableControlPanes を 2 つ格納している TabGroup スタイルの DockAreaPane があり、そのキャプションをダブルクリックした場合、どちらのコントロール ペインも以前にフローティング表示されていなければ、それら 2 つのコントロール ペインを格納する新しい DockAreaPane が作成されます。どちらかひとつのコントロール ペインを別のフローティング ウィンドウ、したがって別の DockArea ペインにドラッグした場合は、どちらのキャプションをダブルクリックしても、それらのペインは引き続き元のドッキングされた TabGroup スタイルの DockAreaPane に表示されます。この時点でキャプションをダブルクリックすると、今度はコントロール ペインがそれぞれ固有のフローティング状態の DockAreaPanes に表示されます。

カスタム プロパティ - ペイン プロパティ ページ

UltraDockManager を選択したときに表示される右クリック コンテキスト メニューには、デザインタイムの作業を簡単にするための機能が追加されています。それらのオプションのひとつに [カスタム プロパティ ページ…​] があり、2 つのページで構成されるモーダル ダイアログが表示されます。1 ページ目の [オブジェクト プロパティ] では、コンポーネントの参照可能なプロパティすべてにアクセスするための代替手段が提供されます。2 ページ目は [ペイン] プロパティ ページです。このページでは、ペイン階層がツリー スタイルで表示されます。ページの左側には 2 つのツリーがあります。一方にはドッキング状態の DockAreaPane インスタンスの階層があり、もう一方にはフローティング状態の DockAreaPane インスタンスの階層があります。ペインを選択すると、そのペインに関連付けられたプロパティが右側のプロパティ グリッドに表示されます。

WinDockManager Design Time Functionality 04.png
Note
コントロール ペインの交互状態(現在ドッキングしているコントロール ペインではフローティング状態、現在フローティングしているコントロール ペインではドッキング状態)はディザ表示されます。

UltraDockManager エレメントのコンテキスト メニュー

UltraDockManager を選択したときに表示される右クリック コンテキスト メニューには、デザインタイムの作業を簡単にするための機能が追加されています。これらの追加のオプションについて、次にまとめて説明します。

  • バージョン情報 — エレメントの [バージョン情報] ダイアログを表示します。このダイアログには、エレメントのライセンス情報やバージョン情報が表示されます。

  • カスタム プロパティ ページ…​-- 2 つのページで構成されるモーダル ダイアログが表示されます。1 ページ目の [オブジェクト プロパティ] では、コンポーネントの参照可能なプロパティすべてにアクセスするための代替手段が提供されます。2 ページ目は、[ペイン] プロパティ ページで、ペイン階層のツリー スタイル表示を提供します。

  • レイアウトのロード/保存…​-- ペインのプロパティと位置を格納している UltraDockManager レイアウトをバイナリまたは SOAP 形式のファイルからロードするか、またはそれらの形式で保存するためのダイアログを表示します。

  • 非表示のペインを表示 — すべてのペインの Closed プロパティを False にリセットします。

  • クイック ヘルプ…​-- デザインタイムに使用できる機能についての基本的な指示や注意を与えるダイアログを表示します。

  • フロート ウィンドウをを隠す — すべてのフローティング ウィンドウがデザインタイムに表示されなくなります。