原文链接:

一、引用:

1.建立一个WinForm工程,默认生成了一个WinForm窗体Form1(此处默认为主窗体)。

2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll。

3.设置Form1窗体属性IsMdiContainer:True。

4.工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel。

5.将dockPanel拖到窗体主窗体上,设置Dock属性,一般默认设置为:Fill。

二、设置停靠窗体:

1.新建一个WinForm窗体。

2.在代码中修改窗体继承于DockContent。如下:

using WeifenLuo.WinFormsUI.Docking;public partial class Form2 : DockContent

3.在主窗体中显示停靠窗体。

在要显示停靠窗体的事件中写入以下代码:

Private void 事件名()
​​​​​​​{Form2 form2 = new Form2();form2.Show(停靠的父容器,DockState.要停靠的方位);
}

三、设置窗体浮动:

1、设置需要浮动的窗体的Dock中的DockAreas属性。

四、关闭当前容器中的所有窗体

1、获取到当容器中的所有子窗体的个数:

 dockPanel1.Contents.Count;

2、获取容器中的所有对象的数组,并将其转换为

IDockContent对象:

IDockContent content =(IDockContent)dockPanel1.Contents[index];

3、循环关闭:

for (int index = dockPanel1.Contents.Count;index > 0; index--)
{if(dockPanel1.Contents[index] isIDockContent){IDockContent content =(IDockContent)dockPanel1.Contents[index];content.DockHandler.Close();}
}

五、关闭除当前正在活动的子窗体之外得到所有子窗体:

1、获取当前正在活动的子窗体对象:

this.ActiveMdiChild;

2、遍历容器中的子窗体,并判断是否为当前正在活动的窗体,不是则关闭:

if (this.ActiveMdiChild != null)
{ //判断是否有子窗体foreach (Form f in this.MdiChildren){//获取子窗体if (f != this.ActiveMdiChild) { f.Close(); }//判断是否为当前选定窗口}
}

六、更改窗体风格:

1、下载要设置风格的资源库或相关控件。例如: vS2005Theme、vS2003Theme、vS2012LightTheme;

然后将要更改风格的DockPanel控件的Theme属性设置为相应的控件名。例:

dockPanel1.Theme = vS2003Theme2;

如果要更改主窗体的风格,则要下载vS2012ToolStripExtender控件。

vS2012ToolStripExtender1.SetEnableVS2012Style(要更改的控件, true);

七、更改窗体的样式:

1.获取并记录当前样式:

DocumentStyle oldStyle = dockPanel1.DocumentStyle;//记录旧的样式

2.定义新样式对象并为其赋值要更改的样式:

DocumentStyle newStyle=要更改的样式(DocumentStyle.样式);

3、设置新的样式:

要更改样式的窗体. DocumentStyle=newStyle;

八、记录当前窗体布局:

1.定义一个正在窗体关闭事件:

private void MainForm_FormClosing(object sender FormClosingEventArgse){..........}

2.在事件在写入记录当前窗体布局的代码,如下:

configFile =Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");dockPanel1.SaveAsXml(configFile);

3、如果下载打开窗体需要加载上一次的退出时的布局,则在窗体加载事件中写入以下代码:

configFile=Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");if(File.Exists(configFile))
{dockPanel1.LoadFromXml(configFile, ddc);
}

C#:Dockpanel的一些入门的基本操作相关推荐

  1. python使用教程pandas-Python 数据处理库 pandas 入门教程基本操作

    pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有表现力的数据结 ...

  2. 立创EDA仿真入门1 基本操作

    立创EDA仿真入门1 基本操作 一.进入EDA仿真环境 二.画原理图 1. 新建工程 2. 绘制如下电路图 三.仿真 1. 运行仿真 2. 导出波形图 3. 查看仪表 一.进入EDA仿真环境 网址: ...

  3. OpenCV基础入门系列基本操作——贰

    系列博文第二篇,关于OpenCV4的一些基本操作和使用. 博文主要以实例展示不同的函数使用方法. OpenCV基础入门系列基本操作--壹 前言 下述为本博文需要用到的各类头文件以及全局变量等 读者可根 ...

  4. mysql入门教程——基本操作

    MySQL入门教程--基本操作 一.MySQL基础 1.数据库介绍 2.mysql安装和配置 3.超管密码修改 二.数据库的操作 1.SQL语句 2.数据库操作 2.1.查询数据库 2.2.创建数据库 ...

  5. ROS入门的基本操作

    ROS入门的基本操作 一.ROS命令行工具的使用 二.创建工作空间与功能包 创建工作空间的流程 创建功能包的流程 三.发布者Publisher的编程实现 如何实现一个发布者 如何配置CMakeLIst ...

  6. R语言怎么写积分_R语言入门的基本操作(1)

    大家好,这是从知乎<一个大学生的日常笔记>中迁移过来的R语言教程的第一篇. 这一份笔记follow了两本非常优秀的R语言教材,分别是Robert I.Kabacoff的<R语言实战& ...

  7. HDFS 入门和基本操作

    1.HDFS 是做什么的 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,hdfs是分布式计算中数据存储管理的基础,是基于流数据模式 ...

  8. matlab基本矩阵运算,MATLAB入门:基本操作与矩阵运算

    基本操作 把matlab当作计算器使用 把matlab当计算器使用基本符合常识,不过多赘述(下同,着重记录与常识有出入的地方). 需要注意的有: =表示赋值,判断是否相等用==: matlab中没有l ...

  9. stata学习笔记(一)stata入门与基本操作

    这里开个新坑,主题有关stata使用以及定量分析入门,主要内容来自于之前与之后的课程学习.作业以及资料查询整理,主要目的是对个人学习过程的一个记录,方便日后回顾. 1 导入数据 方法1:点击文件选项, ...

最新文章

  1. hamap java_一篇文章,让你真正了解Java
  2. 一个简单的用Python写抽奖程序
  3. Linux 下的KILL函数的用法
  4. c语言实现排列组合:实现matlab中的nchoosek函数
  5. 2、MySQL错误日志(Error Log)详解
  6. ie6 插入图片img png24 阴影
  7. 菜鸟学习linux笔记(二)
  8. docker 学习之使用dockerfile 创建镜像遇到的坑
  9. 局域网文件共享手机访问电脑文件软件
  10. matlab 摄动波浪理论,等于波浪论文,关于MATLAB在实验室波高采集中的应用相关参考文献资料-免费论文范文...
  11. 程序员面试指南 - 自我介绍
  12. iOS开发工程师(SDK),U3D主程,制作人 招聘
  13. svchost.exe 上传下载占用大量资源
  14. 植物大战僵尸对战版(Android)
  15. 福昕阅读器无法注释的解决
  16. 镜像miracast投屏软件_什么是Miracast投屏,Miracast是怎么投屏的?
  17. limma | 配对样本的差异分析怎么搞!?(一)
  18. 图像中的高频分量和低频分量
  19. Paper中含有Type3的字体,需要修改为Type1字体
  20. 30KW储能PCS逆变器双向变流器设计方案资料,双向DCDC和三电平逆变PCS

热门文章

  1. MySql随笔part3 表操作
  2. (转)Apache Rewrite 详解
  3. java面向对象的特征 —(13)
  4. 《你不知道的JavaScript(上卷)》读书笔记
  5. 转载:说一下AI的前景吧
  6. Java 冒泡排序的实现
  7. SQL Server 2012安装图解
  8. setCharacterEncoding和setContentType
  9. ckeditor+ckfinder+syntaxhighlighter编辑器
  10. UNION ALL returning wrong results?