Winform中DockPanel(引用WeifenLuo.WinFormsUI.Docking.dll組件)的使用


  WeiFenLuo.WinFormsUI.Docking.dll是開源項目DockPanel Suite的一個類庫,可實現像Visual Studio的窗口停靠、拖拽等功能。WeifenLuo.WinFormsUI.Docking是一個很強大的界面布局控件,可以保存自定義的布局為XML文件,可以加載XML配置文件。DockPanel中提供了幾個可用的類,重要的有兩個:DockPanel和DockContent。DockPanel是從Panel繼承出來的,用於為可浮動的dock的子窗口提供進行浮動和dock的場所;DockContent是從Form類中繼承出來的,用於提供可浮動的窗口基類。也就是說,DockContent對象可以在DockPanel對象中任意貼邊、浮動、TAB化等。

1、新建WinForm窗體

2、修改WinForm窗體屬性,設置其為MDI窗體(多文檔窗體)

this.IsMdiContainer = true;
this.Name = "MainForm";
this.Text = "MainForm";

3、為MainForm窗體添加菜單欄

4、解決方案管理器-->添加引用-->瀏覽-->WeifenLuo.WinFormsUI.Docking.dll

5、工具箱-->選擇項...-->.Net Framework組件-->瀏覽-->WeifenLuo.WinFormsUI.Docking.dll

6、拖動工具箱中的DockPanel控件到MainForm窗體,拖動時如出現如下錯誤:

  

  則 項目屬性對話框-->應用程序-->目標框架-->.Net Framework 4,即可解決。

  當主窗體需要使用工具欄和狀態欄時,需要特別注意控件的放置順序,確保DockPanel控件是最后一個放上去的控件,否則可能出現局部顯示效果有誤的情況。

7、設置DockPanel控件Dock屬性為Fill

this.dockPanel1.Dock = System.Windows.Forms.DockStyle.Fill;

8、添加兩個WinForm窗體,分別為DockPanelFormMain和DockPanelFormSide,在窗體的代碼中修改兩窗體均繼承自DockContent,並修改其FormBorderStyle屬性為Fixed3D,設置DockPanelFormMain的BackColor屬性為White;

9、在MainForm的Load事件中添加如下代碼:

DockPanelFormMain dockPanelMain1 = new DockPanelFormMain();
dockPanelMain1.Show(this.dockPanel1);
dockPanelMain1.Text = "MainPanel1";

DockPanelFormMain dockPanelMain2 = new DockPanelFormMain();
dockPanelMain2.Show(this.dockPanel1);
dockPanelMain2.Text = "MainPanel2";

DockPanelFormSide dockPanelSideLeft = new DockPanelFormSide();
dockPanelSideLeft.Show(this.dockPanel1, WeifenLuo.WinFormsUI.Docking.DockState.DockLeft);
dockPanelSideLeft.Text = "DockPanelLeft";

DockPanelFormSide dockPanelSideRight = new DockPanelFormSide();
dockPanelSideRight.Show(this.dockPanel1, WeifenLuo.WinFormsUI.Docking.DockState.DockRight);
dockPanelSideRight.Text = "DockPanelRight";

DockPanelFormSide dockPanelSideBottom = new DockPanelFormSide();
dockPanelSideBottom.Show(this.dockPanel1, WeifenLuo.WinFormsUI.Docking.DockState.DockBottom);
dockPanelSideBottom.Text = "DockPanelBottom";

10、程序運行效果如下所示:

參考鏈接:http://www.cnblogs.com/because/archive/2011/12/24/2300316.html

DockPanel Suite相關鏈接

  官網:http://dockpanelsuite.com/

  GitHub:https://github.com/dockpanelsuite


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM