基本框架

说明

weiFenLuo.winFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可以实现像Visual Studio的窗口停靠、拖拽等功能。WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件。 
该动态库源自开源项目DockPanelSuite,原始下载链接如下: 
http://sourceforge.net/projects/dockpanelsuite/files/?source=navbar 
但目前,该动态库已经改至以下链接进行下载与维护: 
https://github.com/dockpanelsuite/dockpanelsuite 
可下载其源码、可直接使用的dll及示例程序,目前已更新至2.8,可在VS2012环境下使用。

编译好的dll文件可以直接从此处下载: 
http://download.csdn.net/detail/renzhansheng55/8511685

dockpanel中提供了几个可用的类, 重要的有两个, 一是DockPanel, 一是DockContent: 
DockPanel是从panel继承出来的, 用于提供可浮动的dock的子窗口进行浮动和dock的场所, 
DockContent是从form类中继承出来的, 用于提供可浮动的窗口基类. 就是说: DockContent对象可以在DockPanel对象中任意贴边, 浮动, TAB化等.

主窗体建立

1.新建WinForm->添加引用WeifenLuo.WinFormsUI.Docking.dll 
2.工具箱->选择项->.net控件,选择WeifenLuo.WinFormsUI.Docking.dll, 
将DockPanel控件加载到工具箱中。(高版本的VS2012、VS2013无法打开,提示有什么错误。最简单的解决办法就是直接将文件拖放到工具箱即可) 
3.重命名WinForm为MainForm作为测试主窗口,设置MainWnd.IsMdiContainer=True;把主窗体设置为多窗体的容器,这一步很重要。 
4.在工具箱中拖出DockPanel放到MainForm上并设置DockPanel.Dock=Fill 
至此主窗体建立完毕

停靠窗体的建立

1.添加窗体Form1,Form2 
2.在所有的窗体MainForm,Form1,Form2中添加引用:

using WeifenLuo.WinFormsUI.Docking;
  • 1

3.将窗体的继承类从Form改为DockContent

public partial class Form1 : DockContent //之前为Form     {         public Form1()         {             InitializeComponent();         }     }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.在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);         }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

设置完毕,截图如下 
 
 
 

几个重要的属性

1.TabText:与窗体的Text不同,TabText显示在Tab的页面上 
2.ShowHint:窗体初始显示时,停靠的状态。与设置DockState的效果相同:

frm1.Show(dockPanel1, DockState.DockLeft);
  • 1

3.HideOnClose:也就是说当窗体关闭时,并不是真正的关闭,而是隐藏了起来

WeifenLuo.WinFormsUI.Docking.dll的用法的更多相关文章

  1. 学习winform第三方界面weiFenLuo.winFormsUI.Docking.dll

    控件dockpanel中提供了几个可用的类, 重要的有两个, 一是DockPanel, 一是DockContent, DockPanel是从panel继承出来的, 用于提供可浮动的dock的子窗口进行 ...

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

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

  3. 开源布局控件 WeifenLuo.WinFormsUI.Docking.dll使用

    WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件.! 先看一下效果 使用说明: 1.新建一个WinForm程 ...

  4. WeiFenLuo.winFormsUI.Docking.dll的使用(停靠效果)

    1.  重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--- ...

  5. weiFenLuo.winFormsUI.Docking.dll学习

    引用方法: 1.建立一个WinForm工程,默认生成了一个WinForm窗体. 2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll. 3 ...

  6. C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果

    很酷的效果,很值得好好去学习的哈. 重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命 ...

  7. WeifenLuo.WinFormsUI.Docking"的使用 z

    在伍华聪的博客中,看到布局控件"WeifenLuo.WinFormsUI.Docking",发现的确是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件. ...

  8. Winform- 界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用

    布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的. 实 ...

  9. WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一)

    WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一) 编写人:CC阿爸 2015-1-28 在伍华聪的博客中,看到布局控件"Weife ...

随机推荐

  1. 前端基础--css基本语法,选择器

    一.css概述 CSS(Cascading Style Sheet)层叠样式表,定义如何显示HTML元素,给HTML设置样式,让它更加美观.当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式 ...

  2. “全栈2019”Java第一百零五章:匿名内部类覆盖作用域成员详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. “全栈2019”Java第二章:安装JDK11(Windows)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ...

  4. 私有成员的设置和访问方式——setter和getter

    在定义类时,为了保证类中成员数据安全性及的封装性,防止成员数据值被任意修改,通常将类中成员属性用private进行修饰. 被private修改的成员属性,只能在类中访问,跳出本类后,就无法直接访问. ...

  5. [XHR]——重新认识 XMLHttpRequest

    细说XMLHttpRequest如何使用 先来看一段使用XMLHttpRequest发送Ajax请求的简单示例代码. function sendAjax() { //构造表单数据 var formDa ...

  6. [转] Cisco路由器DNS配置

    禁用Web服务 Cisco路由器还在缺省情况下启用了Web服务,它是一个安全风险.如果你不打算使用它,最好将它关闭.举例如下: Router(config)# no ip http server 配置 ...

  7. Libra的第一天

    wuli乖乖,今天是你降生第一天,以后的几年可能我们都会朝夕相处,你的成长就是我的向上,一起加油吧

  8. 创建一个简单的maven的web程序

    最近学习Hadoop,发现学习要想用hadoop作为后台运行web程序,必须应用maven,所以学习了今天学习了一下maven,然后搭建了一个简单的web程序 首先我使用的是eclipse中自带的ma ...

  9. 此博客不再维护,请移步http://daiweilai.github.io/

    此博客不再维护,请移步新博客 http://daiweilai.github.io/ 新开的这个博客系统,托管在了Github.io上,喜闻乐见的Jekll加借鉴(抄袭)的精美主题构建而成,反正样子应 ...

  10. JavaIO流总结

    字节流 InputStream FileInputStream FilterInputStream BufferedInputStream DataInputStream PushbackInputS ...