很酷的效果,很值得好好去学习的哈。

重置工具箱:

新建一个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实现窗口停靠效果相关推荐

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

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

  2. [转]WeiFenLuo.winFormsUI.Docking.dll的使用(简单入门版)

    http://www.cnblogs.com/masterfy/archive/2009/06/02/1494593.html 1.建立一个WinForm工程,默认生成了一个WinForm窗体Form ...

  3. C#.NET 窗体停靠控件WeifenLuo.WinFormsUI.Docking.dll的使用

    源码:https://github.com/dockpanelsuite/dockpanelsuite https://www.cnblogs.com/wuhuacong/archive/2009/0 ...

  4. WeifenLuo.WinFormsUI.Docking.dll使用

    使用该动态链接库,可是将Winform界面设计成Visual Studio界面的效果,支持选项卡的拖拽.浮动.停靠. 1.调用方法 在解决方案管理器中,项目名称节点上右键->添加引用->浏 ...

  5. WeifenLuo.WinFormsUI.Docking的使用 z

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

  6. WeifenLuo.WinFormsUI.Docking学

    WeifenLuo.WinFormsUI.Docking简单学习 引用方法: 1.建立一个WinForm工程,默认生成了一个WinForm窗体. 2.引用->添加引用->浏览->we ...

  7. WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用

    控件下载地址(开源) http://sourceforge.net/projects/dockpanelsuite/ 原文:http://www.cnblogs.com/wuhuacong/archi ...

  8. 分享-WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用

    分享自伍华聪的-WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的 ...

  9. WinForm 布局控件“WeifenLuo.WinFormsUI.Docking“的使用

    本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的共享软件中使用布局控件"WeifenLuo.WinFormsUI.Docking". 布局控件"Weife ...

最新文章

  1. js获取网页高度(详细整理)
  2. BZOJ 1114 Number theory(莫比乌斯反演+预处理)
  3. 第一篇,试试功能如何
  4. 奔四的技术人,内心都有哪些波澜?
  5. 基于Levenberg-Marquardt训练算法的BP网络Python实现
  6. 2021-05-07 matlab中的addpath用法
  7. 普通技术人员如何快速成长为合格的CTO
  8. php中sha1,PHP中sha1()函数和md5()函数的绕过
  9. python时间str转datetime_深入了解Python中的小知识
  10. 决策树算法python实现_决策树之python实现ID3算法(例子)
  11. totoisegit不显示对勾_暗黑2画质不满意?教你简单安装高分辨率补丁
  12. 如何复制百度文库上的东西
  13. android 4.4 安装 flash,android 4.0 安装adobe flash player
  14. java 拼音排序:Collator类
  15. sublime中文乱码问题
  16. 学习Linux你必须知道的那些事儿
  17. google gcr.io、k8s.gcr.io 国内镜像
  18. 【pureftp】解决filezilla连接ftp报错 服务器发回了不可路由的地址 使用服务器地址代替
  19. Linux中hadoop下载安装及环境配置
  20. 什么是GML?GML例子

热门文章

  1. java开发简介_Java Web开发介绍
  2. maven 分批打包_maven批量打包,并且显示打包结果
  3. linux中firefox替换,Ubuntu更换Firefox版本的方法
  4. 不等号属于不等式吗_初中数学——中考知识3【方程与不等式(基础)】
  5. c语言输入身高计算标准体重_体侧标准||身高、体重测试评分标准
  6. 红帽子linux改ip命令,RedHat 7 修改IP地址
  7. tensor flow lstm 图像 一条直线_深入理解LSTM
  8. 如何学STM32 —— 十年经验教你如何学习嵌入式系统
  9. socket php验证客户端验证,用Socket发送电子邮件(利用需要验证的SMTP服务器)_php基础...
  10. 怎么用计算机算p a,老师,(P/A,12%,10)这个值用计算器怎么算出来?