C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果
很酷的效果,很值得好好去学习的哈。
重置工具箱:
新建一个WinForm程序,项目名称为TestDockPanelControl。选中Form1窗体后选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--->>右键--->>选择项--->>浏览---
>>weiFenLuo.winFormsUI.Docking.dll--->>确定.此时工具箱出现DockPanel控件。这以上步骤仅是把DockPanel控件添加到工具箱中。
接下来看看DockPanel控件的停靠效果是如何实现的。
主窗体设置:(Form1窗体默认是主窗体)
Form1窗体的属性设置
在原有的Form1窗体上设置窗体的Text属性为主窗体,IsMdiContainer属性为true也就是设置为MDI程序(为了体验DockPanel控件的演示效果)。FormBorderStyle设置为
FixedSingle,StartPosition设置为CenterScreen,WindowState设置为Maximized。
Form1窗体的控件布局
将工具箱下的MenuStrip控件和DockPanel控件拖放到窗体上,设置DockPanel控件的Dock属性为Fill.设置MenuStrip的子菜单选项设置值如下图所示:
停靠窗体设置(FormDock为子窗体):
添加一个新的WinForm窗体命名为FormDock,设置Text值为停靠窗体,Size值为207,382此处值可以根据实际的需要情况而定并非唯一。
主要点:在代码中修改窗体继承于DockContent,要添加using WeifenLuo.WinFormsUI.Docking命名空间
修改前代码:
public partial class FormDock :Form {public FormDock(){InitializeComponent();} }
修改后代码:
public partial class FormDock :DockContent {public FormDock(){InitializeComponent();} }
回到主窗体Form1窗体,在Form1窗体中显示要停靠的窗体(FormDock)
代码如下:
//底部private void bottomToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "底部停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Bottom);}//全屏private void fillToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "全屏停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Fill);}//左侧private void leftToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "左侧停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Left);}//Noneprivate void noneToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "NONE";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.None);}//右侧private void rightToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "右侧停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Right);}//顶部private void topToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "顶部停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Top);}
以上的就是用DockPanel控件来使窗体进行停靠的整个操作。
效果图如下所示:
DockPanel控件还可以拖放子窗体,可以把子窗体拖放到上左中右下等位置
只要把DockPanel控件的的AllowDrop设置为true就可以了。效果图如下所示;
C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果相关推荐
- WeiFenLuo.winFormsUI.Docking.dll的使用(停靠效果)
很酷的效果,很值得好好去学习的哈. 重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命 ...
- [转]WeiFenLuo.winFormsUI.Docking.dll的使用(简单入门版)
http://www.cnblogs.com/masterfy/archive/2009/06/02/1494593.html 1.建立一个WinForm工程,默认生成了一个WinForm窗体Form ...
- C#.NET 窗体停靠控件WeifenLuo.WinFormsUI.Docking.dll的使用
源码:https://github.com/dockpanelsuite/dockpanelsuite https://www.cnblogs.com/wuhuacong/archive/2009/0 ...
- WeifenLuo.WinFormsUI.Docking.dll使用
使用该动态链接库,可是将Winform界面设计成Visual Studio界面的效果,支持选项卡的拖拽.浮动.停靠. 1.调用方法 在解决方案管理器中,项目名称节点上右键->添加引用->浏 ...
- WeifenLuo.WinFormsUI.Docking的使用 z
在伍华聪的博客中,看到布局控件"WeifenLuo.WinFormsUI.Docking",发现的确是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件. ...
- WeifenLuo.WinFormsUI.Docking学
WeifenLuo.WinFormsUI.Docking简单学习 引用方法: 1.建立一个WinForm工程,默认生成了一个WinForm窗体. 2.引用->添加引用->浏览->we ...
- WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用
控件下载地址(开源) http://sourceforge.net/projects/dockpanelsuite/ 原文:http://www.cnblogs.com/wuhuacong/archi ...
- 分享-WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用
分享自伍华聪的-WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的 ...
- WinForm 布局控件“WeifenLuo.WinFormsUI.Docking“的使用
本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的共享软件中使用布局控件"WeifenLuo.WinFormsUI.Docking". 布局控件"Weife ...
最新文章
- js获取网页高度(详细整理)
- BZOJ 1114 Number theory(莫比乌斯反演+预处理)
- 第一篇,试试功能如何
- 奔四的技术人,内心都有哪些波澜?
- 基于Levenberg-Marquardt训练算法的BP网络Python实现
- 2021-05-07 matlab中的addpath用法
- 普通技术人员如何快速成长为合格的CTO
- php中sha1,PHP中sha1()函数和md5()函数的绕过
- python时间str转datetime_深入了解Python中的小知识
- 决策树算法python实现_决策树之python实现ID3算法(例子)
- totoisegit不显示对勾_暗黑2画质不满意?教你简单安装高分辨率补丁
- 如何复制百度文库上的东西
- android 4.4 安装 flash,android 4.0 安装adobe flash player
- java 拼音排序:Collator类
- sublime中文乱码问题
- 学习Linux你必须知道的那些事儿
- google gcr.io、k8s.gcr.io 国内镜像
- 【pureftp】解决filezilla连接ftp报错 服务器发回了不可路由的地址 使用服务器地址代替
- Linux中hadoop下载安装及环境配置
- 什么是GML?GML例子
热门文章
- java开发简介_Java Web开发介绍
- maven 分批打包_maven批量打包,并且显示打包结果
- linux中firefox替换,Ubuntu更换Firefox版本的方法
- 不等号属于不等式吗_初中数学——中考知识3【方程与不等式(基础)】
- c语言输入身高计算标准体重_体侧标准||身高、体重测试评分标准
- 红帽子linux改ip命令,RedHat 7 修改IP地址
- tensor flow lstm 图像 一条直线_深入理解LSTM
- 如何学STM32 —— 十年经验教你如何学习嵌入式系统
- socket php验证客户端验证,用Socket发送电子邮件(利用需要验证的SMTP服务器)_php基础...
- 怎么用计算机算p a,老师,(P/A,12%,10)这个值用计算器怎么算出来?