前々から気になっていたドッキングウィンドウですが、ずーっと放置していました。自作エディタにも導入できるか試してみたかったので実際に使ってみました。
ドッキングウィンドウとは?
Visual Studioのような、ウィンドウをメインの画面から分離したり上下左右に移動(ドッキング)できるウィンドウのことです。ウィンドウは最小化するとタブになります。タブの上にマウスカーソルを持っていくと、自動的にウィンドウが開きます。
DockPanel Suiteとは?
.NETでドッキングウィンドウを実現するライブラリです。MITライセンスです。2006年にリリースされ現時点でのバージョンは3.1.0です。
導入方法
下記サイトから dockpanel suite のソースをダウンロードします。
ビルドとサンプルプログラム実行手順
- Visual Studioで WinFormsUI.Docking.sln を開きます。
- ソリューションエクスプローラーで DockSample プロジェクトを選択します。
- 右クリックからスタートアッププロジェクトに設定を選択します。
- F5 を押して実行します。
- サンプルの画面が表示されます。
アプリから利用する方法
1.Visual Studio のツールボックスのウィンドウで右クリックしてアイテムの選択を選択します。
2.<ダウンロードしたフォルダ>\WinFormsUI\bin\Debug(またはRelease)の配下にあるDLLをすべて選択して開くボタンをクリックします。
3.ツールボックスに DockPanel と Theme(ドッキングウィンドのカラー) が追加されていれば設定完了です。
ドッキングウィンドウの作り方
手順
- ツールボックスから DockPanel を選択しフォームに配置します。
- ツールボックスから テーマを配置します。(例:VS2015LightTheme)
- DockPanel を選択しプロパティウィンドウから Theme に 配置したテーマを設定します。テーマを設定しないと実行時にエラーになります。
- 以下のコードで実行します。
FormMain.cs
メインのフォーム(ドッキングされる側)です。
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace Test {
///
/// メインフォーム
/// public partial class FormMain : Form {
public FormMain() {
InitializeComponent();
// フォームの左側にドッキングウィンドウを表示します。
FormDock formDock = new FormDock();
formDock.Show(this.dockPanel1, DockState.DockLeft);
}
}
}
FormDock.cs
ドッキングウィンドウのフォーム(ドッキングする側)です。DockContent を継承して作成します。
using WeifenLuo.WinFormsUI.Docking;
namespace Test {
/// /// ドッキングウィンドウ
/// public partial class FormDock : DockContent {
public FormDock() {
InitializeComponent();
}
}
}
実行結果
フォームの左にドッキングウィンドウが開いた状態で表示されます。
コメント