WeifenLuo.WinFormsUI.Docking.dll的用法
基本框架
说明
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的用法的更多相关文章
- 学习winform第三方界面weiFenLuo.winFormsUI.Docking.dll
控件dockpanel中提供了几个可用的类, 重要的有两个, 一是DockPanel, 一是DockContent, DockPanel是从panel继承出来的, 用于提供可浮动的dock的子窗口进行 ...
- Winform中DockPanel(引用WeifenLuo.WinFormsUI.Docking.dll组件)的使用
WeiFenLuo.WinFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可实现像Visual Studio的窗口停靠.拖拽等功能.WeifenLuo.Win ...
- 开源布局控件 WeifenLuo.WinFormsUI.Docking.dll使用
WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件.! 先看一下效果 使用说明: 1.新建一个WinForm程 ...
- WeiFenLuo.winFormsUI.Docking.dll的使用(停靠效果)
1. 重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--- ...
- weiFenLuo.winFormsUI.Docking.dll学习
引用方法: 1.建立一个WinForm工程,默认生成了一个WinForm窗体. 2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll. 3 ...
- C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果
很酷的效果,很值得好好去学习的哈. 重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命 ...
- WeifenLuo.WinFormsUI.Docking"的使用 z
在伍华聪的博客中,看到布局控件"WeifenLuo.WinFormsUI.Docking",发现的确是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件. ...
- Winform- 界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的. 实 ...
- WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一)
WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一) 编写人:CC阿爸 2015-1-28 在伍华聪的博客中,看到布局控件"Weife ...
随机推荐
- NET Core 拓展方法和中间件集合(支持NET Core2.0+)
# Pure.NETCoreExtentensions https://github.com/purestackorg/Pure.NETCoreExtensions NET Core 拓展方法和中间件 ...
- bash shell & 环境变量
root是没有~/.bashrc的,只. /etc/profile即可,/etc/profile和~/.bashrc的作用类似,只是作用域不同,都是写死的export,也有动态的脚本去设置命令和环境变 ...
- CSS文字大小单位PX、EM的区别
◆px像素(Pixel)是相对长度单位,像素px是相对于显示器屏幕分辨率而言的.(引自CSS2.0手册)◆em是相对长度单位,相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则 ...
- AngularJS 常用语法
面板收缩(class=collapsed)与扩展(class=expand) <div ng-init="expand=false" data-ng-class=" ...
- Ceph 基础知识和基础架构认识
1 Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...
- “全栈2019”Java异常第七章:try-catch-finally组合方式
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...
- JAVA日期——java.util.date类的操作
package com.hxzy.time; import java.text.SimpleDateFormat;import java.util.Date; public class DateDem ...
- [Objective-C语言教程]日志处理(21)
为了打印日志,可使用Objective-C编程语言中的NSLog方法,首先在HelloWorld示例中使用了这个方法. 下面来看一下打印“Hello World”字样的简单代码 - #import & ...
- wireshark 1.10.0 编译 及 协议解析部分的一些变化
wireshark不久前升级到1.10.0稳定版,这个版本正如其版本号一样,相比1.8.x有较大变化. 我们先说说在windows下编译的问题,1.8.4/1.8.6版本的编译见我的文章:http:/ ...