关于C# Dockpanel的一些入门的基本操作
关于C# Dockpanel的一些入门的基本操作
原文链接:https://blog.csdn.net/Lc1996Jm/article/details/51881064
一、引用:
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 > ; 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的一些入门的基本操作的更多相关文章
- 【mybatis】1、入门CURD基本操作(环境搭建)
#1.基本环境 环境 版本 jdk 1.7.0_10 ide eclipse-jee-luna-SR2-win32-x86_64 maven 3.3.3 mybatis 3.2.7 mysql 5.1 ...
- struts2第一天——入门和基本操作
一.概述 1.运用场景: 应用于三层架构中web层的框架(显示层的运用),是经典MVC模型的web应用的变体. 2.与struts1的对比: struts2是在struts1基于webwork发展的全 ...
- Hibernate第一天——入门和基本操作
第一个接触的框架就是这个Hibernate框架了,Hibernate本意是 冬眠 ,这里有必要引用CSDN上某位网友某个帖子的评论先引出框架的概念: 框架:一个软件半成品,帮你做了一些基础工作,你就可 ...
- Web APi入门之基本操作(一)
最近学习了下WebApi,WebApi是RESTful风格,根据请求方式决定操作.以博客的形式写出来,加深印象以及方便以后查看和复习. 1.首先我们使用VS创建一个空的WebApi项目 2.新建实体以 ...
- MongoDB入门_shell基本操作
使用shell客户端连接mongoDB数据库 [root@localhost mongodb_simple]# ./bin/mongo /admin mongoDB的简单基本操作 1. mongoDB ...
- github入门之基本操作--4
1.初始化仓库 如果成功执行git init 命令,该目录下会生成一个.git的目录 2.查看仓库状态 *注: 实际工作中,git status使用次数非常多,一定要记住.因为当工作树和仓库被操作的过 ...
- linux学习5 Linux开篇入门和基本操作
一.完整的操作系统 1.GNU系统:表示GNU is Not Unix.表示不做商业化.制定了GPL(General Public License)即任何软件程序只要遵循GPL协议就是自由软件.还制定 ...
- Xmind快速入门(基本操作够用了)
先选择结构--再选择风格 快捷键: 1.tab (产生子主题)2.enter (在下方产生并列主题) shift+enter (在上方产生并列主题)3.Alt+Enter (给某个主题添加标注)4.按 ...
- [No00004F]史上最全Vim快捷键键位图(入门到进阶)
史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版 下 ...
随机推荐
- Docker的网络模式和跨主机通信
文章转载自:http://www.a-site.cn/article/169899.html Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docke ...
- 什么是阿里云ACE认证
作为国内最大的云计算服务商,阿里云不仅引领着中国云计算技术在全球范围内扩大版图,同时还责无旁贷的承担着培养.壮大中国云生态人才力量的使命. 阿里云自2015年推出国内首个公有云技术认证以来,短短三年已 ...
- MFC控件使用大全
https://blog.csdn.net/daoming1112/article/details/54698113
- PAT A1036 Boys vs Girls(25)
AC代码 #include <cstdio> #include <algorithm> using namespace std; const int max_n = 11000 ...
- PAT A1058 A+B in Hogwarts (20)
AC代码 #include <cstdio> struct Money { long long Galleon, Sicklke, Knut; }A, B, Sum; void init( ...
- 异或运算符(^)、与运算符(&)、或运算符(|)、反运算符(~)、右移运算符(>>)、无符号右移运算符(>>>)
目录 异或(^).异或和 的性质及应用总结 异或的含义 异或的性质:满足交换律和结合律 异或的应用 按位 与运算符(&) 按位 或运算符(|) 取 反运算符(~) 右移运算符(>> ...
- docker-扩展
#设置容器监听TCP端口: 重启dockersystemctl restart docker 查看docker监听的235端口netstat -nltp curl -s http://192.1 ...
- Java EE javax.servlet.http中的HttpRequest抽象类
HttpRequest抽象类 public abstract class HttpServlet extends GenericServlet 实现的接口有:Serializable, Servlet ...
- linux常用的bash指令
文本处理 awk sed grep sort uniq cat cut echo fmt tr nl egrep fgrep wc 进程监视 ps top htop atop lsof 网络 nmap ...
- layer的两种提示信息
layer.msg('您的航班价格已变动,请返回重新选择航班!', { time: 10000, shade : [0.6 , '#000' , true], btn: ['返回列表', '关闭'], ...