DockPanelはドッキング ウィンドウのコンテナとなるコントロールであり、次の5つのDockWindowに分割されます。
|
![]() |
ドッキング ウィンドウを使用するには、それをドッキングさせるためのパネル (DockPanel) を、親となるフォーム上に配置する必要があります。
DockPanelのインスタンスを作成し、それを親フォームのコントロールのコレクションに追加します。
public partial class Form1 : Form
{
private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel;
public Form1()
{
InitializeComponent();
this.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel();
this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.dockPanel.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow;
this.Controls.Add(this.dockPanel);
}
}
これをVisual Studioのデザイナで管理するには、とりあえずPanelコンポーネントを親フォーム上に配置し、型をPanelから[WeifenLuo.WinFormsUI.Docking.DockPanel]へ変更する方法もあります。
Visual Studioのビュー デザイナで操作するには、まずDockPanelをツールボックスに追加する必要があります。
ツールボックスへ追加するには、[ツールボックス]ウィンドウのコンテキストメニューから[アイテムの選択]をクリックします。そして[.NET Framework コンポーネント]タブの[参照]ボタンから、ライブラリのファイルを選択します。

「WeifenLuo.WinFormsUI.Docking.dll」ファイルを開きます。

ツールボックスにDockPanelが追加されます。

ツールボックスに追加されたDockPanelコンポーネントを、フォーム上に配置します。
| 型 | プロパティ | 内容 |
|---|---|---|
| bool | AllowEndUserDocking | trueならば、ユーザーはレイアウトを変更できる。既定はtrue How to Lock Layout and Prevent Dock Panels From Moving - Basic Usages — dockpanelsuite 3.1 documentation |
| bool | AllowEndUserNestedDocking | |
| DocumentStyle | DocumentStyle | パネルの表示スタイル |
| DocumentTabStripLocation | DocumentTabStripLocation | |
| bool | ShowAutoHideContentOnHover | |
| bool | ShowDocumentIcon | trueならば、ドキュメント ウィンドウ (DockState.Document) のタブにアイコンを表示する (それ以外のタブのアイコンは、テーマから修正する) |
| DockPanelSkin | Skin | |
| ThemeBase | Theme | |
| DockContentCollection | Contents | IDockContentフォームのコレクション。これには所有するドッキング ウィンドウのリストが含まれる |
| IEnumerable<IDockContent> | Documents | Contentsプロパティの中で、DockStateがDocumentであるウィンドウのコレクション |
| DockPaneCollection | Panes | DockPaneウィンドウのコレクション (DockPaneクラスとは、タブ表示されたDockContentのコレクションを有するクラス) |
| FloatWindowCollection | FloatWindows | DockStateがFloatであるウィンドウのコレクション |
| int | DocumentsCount | Documentsプロパティのコレクションの数 |
| IDockContent | ActiveContent | 現在アクティブなIDockContent |
| IDockContent | ActiveDocument | 現在アクティブなDocumentであるIDockContent |
| DockPane | ActivePane | 現在アクティブなDockPane |
| ︙ |
| 型 | プロパティ | 内容 |
|---|---|---|
| double | DockTopPortion | 上側のDockWindowのサイズ。0.0~1.0の間 |
| double | DockBottomPortion | 下側のDockWindowのサイズ |
| double | DockLeftPortion | 左側のDockWindowのサイズ |
| double | DockRightPortion | 右側のDockWindowのサイズ |
基本的な設定は、プロパティ ウィンドウから行えます。

パネルの表示スタイルはDocumentStyleプロパティで設定します。
| 値 | 注釈 | DockState | |
|---|---|---|---|
| Document | Float | ||
| SystemMdi | DockPanelはMDIの子コントロールである必要がある※1 | |
![]() |
| DockingMdi | |
![]() |
|
| DockingWindow | |||
| DockingSdi | Document形式のウィンドウが1つしかない場合には、タブが表示されない※2 | ![]() |
|
ドッキングするウィンドウの既定のサイズは、次のプロパティで設定します。
これらには0.0~1.0の範囲で、DockPanelのサイズに対する割合で指定します。