WinForm界面布局控件"WeifenLuo.WinFormsUI.Docking"的使用

简介

WeiFenLuo.winFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可以实现像Visual Studio的窗口停靠、拖拽等功能。

WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件。


dll下载

下载地址:https://github.com/dockpanelsuite/dockpanelsuite

控件dockpanel中提供了几个可用的类, 重要的有两个, 一是DockPanel, 一是DockContent。

DockPanel是从panel继承出来的, 用于提供可浮动的dock的子窗口进行浮动和dock的场所。

DockContent是从form类中继承出来的, 用于提供可浮动的窗口基类。就是说: DockContent对象可以在DockPanel对象中任意贴边, 浮动, TAB化等。


使用说明

1、再项目中添加引用WeifenLuo.WinFormsUI.Docking.dll。

2、工具箱->右键->添加选项卡,命名为DockingUI(名称可随意)。

3、选中添加的选项卡“DockingUI”->右键->选择项->.Net Framework 组件->浏览->weiFenLuo.winFormsUI.Docking.dll->点击确定后,工具箱中出现DockPanel。

4、新建主窗体MainForm,将DockPanel拖到窗体MainForm上,设置Dock属性为:Fill。窗体属性IsMdiContainer设置为:True。

5、新建子窗体Form1,Form2,在所有的窗体MainForm,Form1,Form2中添加引用:

using WeifenLuo.WinFormsUI.Docking;

6、将窗体的继承类从Form改为DockContent:

public partial class Form1 : DockContent // 之前为Form
{
        public Form1()
        {
            InitializeComponent();
        }
}

7、在MainForm的Load事件中添加如下代码:

private void MainForm_Load(object sender, EventArgs e)
{
           Form1 frm1 = new Form1();
           Form2 frm2 = new Form2();
           //DockState为窗体的停靠状态
           frm1.Show(dockPanel1, DockState.DockLeft);
           frm2.Show(dockPanel1);
}

8、运行代码,可查看最终效果。


可能出现的问题

问题描述:DockPanel.Theme must be set to a valid theme.

解决方案http://www.boxuming.com/Blog/Article/Index/3773


参考资料

1、WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用

2、WeifenLuo.WinFormsUI.Docking.dll的用法

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花