DockPanel Suiteというライブラリを使うと簡単にドッキングウインドウのアプリケーションがつくれるようなので試してみます。
導入の手順
DockPanel Suiteを入手する
以下のサイトからライブラリをダウンロードする。
ダウンロードしたファイルは適当な場所へコピーする。
ライセンスは「MIT License」で提供されているので、商用でも利用可能。
但し、著作権表示と許諾表示をソフトウェアの中で記載する必要がある。
Visual Studioのツールボックスに追加する
ツールボックスのウィンドウで右クリックして[アイテムの選択(I)...]を選択。
[.NET Frameworkコンポーネント]タブの[参照(B)...]ボタンから、上記でダウンロードした「WeifenLuo.WinFormsUI.Docking.dll」を選択すると・・・
ツールボックスに「DockPanel」が追加される。
アプリケーションを作る
親ウィンドウ(ドッキングされる側)
フォームのデザイン画面を開き、ツールボックスから[DockPanel]コントロール選らんで、
フォームへ張り付ける。
DockPanelのプロパティ
Dock |
[Fill]を指定するとコントロールがフォーム全体に張り付く |
DocumentStyle |
[DockingWindow] [DockingMdi]
[DockingSdi] [SystemMdi] |
子ウィンドウ(ドッキングする側)
メニューから[プロジェクト(P)]→[新しい項目の追加(W)...]を選択。
左側ツリー[Windows Forms]カテゴリにある[継承されたフォーム]を選らんで[追加(A)]。
[継承ピッカー]画面で[参照(B)...]ボタンから「WeifenLuo.WinFormsUI.Docking.dll」を選ぶと、
リストにコンポーネントが追加されるので、[DockContent]を選んで[OK]。
DockContentのプロパティ
ShowHint |
最初に表示された時のドッキング位置を指定できる |
DockAreas |
ドッキング可能な場所を指定できる |
サンプルコード
// 子ウィンドウ public partial class FormSub : WeifenLuo.WinFormsUI.Docking.DockContent { public FormSubMap() { InitializeComponent(); } } // 親ウィンドウ public partial class FormMain : Form { private FormSub m_FormSub; public FormMain() { InitializeComponent(); m_FormSub = new FormSub(); // ShowメソッドにドッキングされるDockPanelを渡す m_FormSub.Show(m_CtrlDockPanel); } }
コメントをお書きください