C# 开源控件weiFenLuo.winFormsUI.Docking.dll使用

weiFenLuo.winFormsUI.Docking.dll是一个页面布局控件,可以实现子窗口在主窗口上任意贴边停靠、浮动、Tab化。Dock翻译为码头,就是说子窗口停靠到码头上,很形象啊。

使用过程:

1. 准备控件的dll文件,网上可以下载到。

2. 一个小例子

这里创建了一个C#的window Form工程,中有两个form,form1,form2,form1为主窗口,做为码头使用的,form2为浮动窗口,希望通过weiFenLuo.winFormsUI.Docking.dll能停靠在主窗口的四边,中心时形成Tab。

(1)为工程添加引用dll。

C# 开源控件weiFenLuo.winFormsUI.Docking.dll使用

(2)将控件添加到工具箱中。

vs2017中,工具箱内右键->选择项->.net组件->浏览,选择准备好的dll文件,工具箱里就出现了DockPanel了。

C# 开源控件weiFenLuo.winFormsUI.Docking.dll使用

C# 开源控件weiFenLuo.winFormsUI.Docking.dll使用

C# 开源控件weiFenLuo.winFormsUI.Docking.dll使用

(3) 设置码头窗口属性。

设置form1的IsMdiContainer为True。将DockPanel拽到form1中,为dockPanel1,设置属性Dock为Fill。

(4)设置浮点窗口属性。

在form2.cs中,作如下修改

using WeifenLuo.WinFormsUI.Docking;

namespace DockWin
{
    public partial class Form2
: DockContent
    {
        public Form2()
        {
            InitializeComponent();
        }
    }
}

(5)设置停靠效果。

在form1.cs中,做如下修改

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

}

(6)运行效果可见。

C# 开源控件weiFenLuo.winFormsUI.Docking.dll使用

3. dockpanel中有两个重要的类,DockPanel和DockContent,可以简单的理解,DockPanel是码头,让子窗口停靠的,从panel类继承而来,DockContent是要停到码头上的船,停靠到码头上的内容,从form类继承而来。