天天看點

[C#]模拟實作Visual Stduio工具欄動态效果--擴充控件DocKPanel

weiFenLuo.winFormsUI.Docking.dll是開源項目DockPanel Suite的一個類庫,可以實作像Visual Studio的視窗停靠、拖拽等功能。

官方下載下傳位址:http://sourceforge.net/projects/dockpanelsuite/

具體操作可參考以下:

1.建立一個WinForm工程,預設生成了一個WinForm窗體Form1。

2.引用—>添加引用—>浏覽—>weiFenLuo.winFormsUI.Docking.dll。

3.窗體屬性IsMdiContainer:True。

4.工具箱—>右鍵—>選擇項—>.net元件—>浏覽—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出現dockPanel。

5.将dockPanel拖到窗體Form1上,設定Dock屬性,我設定的是:Fill。

停靠窗體:

1.建立一個WinForm窗體Form2。

2.在代碼中修改窗體繼承于DockContent。

注:關鍵一步

public partial class Form2 : WeifenLuo.WinFormsUI.Docking.DockContent

3.在主窗體Form1中顯示停靠窗體。

private void Form1_Load(object sender, EventArgs e)
{
	Form2 form2 = new Form2();
	form2.Show(this.dockPanel1);
	form2.DockTo(this.dockPanel1, DockStyle.Left);
}
      

  其中dockPanel1是父視窗中DockPanel的名稱。主要用到Show和DockTo方法。DockTo中第二個參數可以更改,你想Dock到什麼地方有改成什麼。有DockStyle.Left, DockStyle.Right, DockStyle.Top, DockStyle.Bottom, DockStyle.Center.