Winform- 界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之强大、美观、不亚于商业控件。而且控件使用也是比较简单的。
实现步骤
1)引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll。
2)主窗体改名为FormMainWnd,并将属性IsMdiContainer:True。
3)工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel。
4)将dockPanel拖到窗体FormMainWnd上,设置Dock属性为:Fill。
添加FORM1窗体
实现代码如下:
public partial class Form1 : WeifenLuo.WinFormsUI.Docking.DockContent
{
private FormMainWnd mainForm;
public Form1(FormMainWnd f)
{
mainForm = f;
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
mainForm.ShowFrom<Form2>();
}
}
添加FORM2窗体
实现代码如下:
public partial class Form2 : WeifenLuo.WinFormsUI.Docking.DockContent
{
public Form2()
{
InitializeComponent();
}
}
将FORM1和FORM2的HIDEONCLOSE属性设为TRUE
主窗体的代码
public partial class FormMainWnd : Form
{ public FormMainWnd()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
//显示左边FORM1工具箱效果
dockPanel1.DocumentStyle = DocumentStyle.DockingMdi;
Form1 form = new Form1(this);
form.Show(dockPanel1, DockState.DockLeft); //显示右边FORM2
Form2 form2 = new Form2();
ShowFrom<Form2>();
} public void ShowFrom<T>() where T : DockContent, new()
{
foreach (var child in this.dockPanel1.Documents)
{
var dFrm = child as T;
if (dFrm != null)
{
dFrm.Activate();
return;
}
}
new T().Show(dockPanel1);
} }
Winform- 界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用的更多相关文章
- WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 转自:http://www.cnblogs.com/wuhuacong/arch ...
- WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二)
WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二) 编写人:CC阿爸 2015-1-29 今天我想与大家继续一起分享这一伟大的控件.有兴趣的同 ...
- WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一)
WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一) 编写人:CC阿爸 2015-1-28 在伍华聪的博客中,看到布局控件"Weife ...
- 开源布局控件 WeifenLuo.WinFormsUI.Docking.dll使用
WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件.! 先看一下效果 使用说明: 1.新建一个WinForm程 ...
- 在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
在很多时候,我们做一些非常规化的界面的时候,往往需要创建一些用户控件,在其中绘制好一些基础的界面块,作为后续重复使用的一个单元,用户控件同时也可以封装处理一些简单的逻辑.在开发Winform各种类型项 ...
- 一起撸个简单粗暴的Tv应用主界面的网格布局控件(上)
这一篇是真的隔了好久了~~,也终于可以喘口气来好好写博客了,这段时间实在是忙不过来了,迭代太紧.好,废话不多说,进入今天的主题. 效果 图一是Tv应用:当贝市场的主页 图二是咱自己撸的简单粗暴的 Tv ...
- 【Qt开发】布局控件之间的间距设置
void QLayout::setContentsMargins ( int left, int top, int right, int bottom ) Sets the left, top, ri ...
- C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用
概述 最近几天一直在关注WinFrom方面的文章主要还是园子里伍华聪的博客,在看看我们自己写的项目差不忍赌啊,有想着提炼一下项目的公共部分,公共部分有分为 界面,类库两方面,今天主要是把界面 ...
- C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用
概述 转自 http://www.cnblogs.com/luomingui/archive/2013/09/19/3329763.html 最近几天一直在关注WinFrom方面的文章 有想着提炼一下 ...
随机推荐
- 二维图形的矩阵变换(三)——在WPF中的应用矩阵变换
原文:二维图形的矩阵变换(三)--在WPF中的应用矩阵变换 UIElement和RenderTransform 首先,我们来看看什么样的对象可以进行变换.在WPF中,用于呈现给用户的对象的基类为Vis ...
- node.js模块值formidable
模块地址:https://github.com/felixge/node-formidable var formidable = require('formidable'), http = requi ...
- DOM4J介绍与代码示例【转载】
DOM4J是dom4j.org出品的一个开源XML解析包.Dom4j是一个易用的.开源的库,用于XML,XPath和XSLT.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JA ...
- C语言字符串函数
strtok() 字符串分割函数strstr() 字符串查找函数 范例 #include <string.h> main() { char * s = " ...
- JADE提升篇
以下如果未特殊声明,都在JADE管理器中运行,然后再Eclipse控制台中查看! JADE行为类 在前面的例子中,Agent所作的工作都定义在了setup方法中,实际上它具有的行为和执行的动作都应该定 ...
- C++ 空类默认产生成员函数
class Empty { Empty(){...} //默认构造函数 ~Empty(){...} //默认析构函数 Empty(const Empty&){...} //拷贝构造函数 Emp ...
- 结构体 typedef struct hash_cell_struct hash_cell_t;
typedef struct hash_cell_struct hash_cell_t; struct hash_cell_struct{ void* node; /*!< hash chain ...
- C语言中的malloc和free
最近在研究php自定义函数的实现,其中php自定义函数在传递参数时,是放到人为的一个栈中,这个跟写C程序时,参数入栈的这个栈还不一样,其中延伸到了 malloc 以及free 有人说在free(p)后 ...
- 解决android手机sd卡安装pak后直接打开,按home键异常问题
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { finish(); return; }
- ubuntu桌面右上角键盘图标不见解决方法
今天出现了这个问题,桌面右上角的键盘图标不见,找到解决方法如下: 打开终端,分别输入以下命令即可: killall ibus-daemon 这个表示结束进程 ibus-daemon -d 这个表示重启 ...