winform界面美化_Winform中DockPanel的使用教程及WeifenLuo.WinFormsUI.Docking.dll的用法

时间:2020-01-30  来源:WinForm  阅读:

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窗体属性

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,即可解决

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、程序运行效果如下所示:



DockPanel WeifenLuo.WinFormsUI.Docking.dll的用法

基本框架

主窗体建立

新建WinForm->添加引用WeifenLuo.WinFormsUI.Docking.dll
重命名WinForm为MainWnd作为测试主窗口,设置MainWnd.IsMdiContainer=True;
由于引用WeifenLuo.WinFormsUI.Docking.dll时已经将控件添加入工具箱,在工具箱中拖出DockPanel放到MainWnd上并设置DockPanel.Dock=Fill

至此主窗体建立完毕

停靠窗体建立

添加WinForm窗体Dock1;
在该窗体的代码中修改窗体继承于DockContent

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WeifenLuoTest
{
    public partial class Dock1 : WeifenLuo.WinFormsUI.Docking.DockContent
    {
        public Dock1()
        {
            InitializeComponent();
        }
    }
}


3.在MainWnd中添加Load事件响应代码来创建停靠窗口

private void MainWnd_Load(object sender, EventArgs e)
{
    Dock1 dock1 = new Dock1();
    dock1.Show(this.dockPanel1,  WeifenLuo.WinFormsUI.Docking.DockState.DockLeft);
}

4.编译生成,一个简单的有停靠窗口的WinForm产生


5. 编译生成,组合框架

winform界面美化_Winform中DockPanel的使用教程及WeifenLuo.WinFormsUI.Docking.dll的用法

http://m.bbyears.com/asp/84951.html

推荐访问:winform教程菜鸟
相关阅读 猜你喜欢
本类排行 本类最新