今天在做winForm开发的时候,突然觉得这个界面怎么看怎么不爽,于是就Google了下,发现有个叫MagicDocking的个东西,下回来,自己折腾折腾

开打它的示例文件,发现,哇,这家伙谁写的哦,这么乱,完全不是VS的样子么,呼,好不容易找到了一点点实现的办法,

首先,自然是要引用dll啦,右击项目->添加引用->浏览->找到magicDocking.dll;

然后,需要在form中添加引用

using Crownwood.DotNetMagic.Common;
using Crownwood.DotNetMagic.Controls;
using Crownwood.DotNetMagic.Docking;
using Crownwood.DotNetMagic.Forms;

引用都完成后,从他的demo中复制了一段,dockingManage,Content 都有啊,也有实例化,最后也 dockManager.AddContentWithState了呀,为什么就是不显示在窗体呢?我也奇怪,为什么它的demo中也没有写把上面的哪个添加进form中哦,为什么它的能显示呢?我的就不能,最后,没办法,下杀手锏咯,右键变量->查找所有引用->一条一条的过了一边,最后,终于在demo的一大串连续的代码中找到了它,dockingManage中对this的指定,也就是说,dockingManage的实例化时的第一个参数:scrollableContorl,容器控件,而在它的demo中,是添加在了另一个容器中,然后再把另一个容器用Controls.Add()进了Form;

最后整理出来的代码;

代码

public FormDock()
{
InitializeComponent();
DockingManager dockManager;//定义dockManager
dockManager = new DockingManager(this, VisualStyle.Office2007Silver);//实例化dockManager并制定容器为this,央视为office2007Silver
Content testContent = new Content(dockManager);//他就是停靠的那个控件的容器
testContent.Control = new MonthCalendar();//在该容器中添加一个控件,这里为 MonthCalendar;
testContent.Title = "test1";//为容器命名-标题
testContent.FullTitle = "test1-test";//为容器命名-完整标题
testContent.AutoHideSize = testContent.Control.Size; //设置自动缩小时的size

dockManager.Contents.Add(testContent);//把它添加进dockManager
dockManager.AddContentWithState(testContent, State.DockRight);//最后显示界面,停靠位置为 right

}

这样就完成了停靠窗体的实现过程,关键就是在于,需要一个停靠控件,就要实例化一个Content,并指定内容,最后添加进dockManage,而dockManage需要制定一个容易来放它自己。这样想把什么放在停靠窗体里面,就在testContent.Control 后面 new一个进去。

而对于其他控件的使用,我们可以查看它的demo有些可以直接添加到“工具箱”的-->“工具箱”-->“选择项”-->“找到manageDocking.dll”

OVER~~~~~~~`

转载于:https://www.cnblogs.com/lingfengchencn/archive/2010/07/06/1772523.html

DockingManager的使用入门相关推荐

  1. 用Construct 2制作入门小游戏~

    今天在软导课上了解到了Construct 2这个神器,本零基础菜鸟决定尝试做一个简单的小游戏(实际上是入门的教程啊= = 首先呢,肯定是到官网下载软件啊,点击我下载~ 等安装完毕后我便按照新手教程开始 ...

  2. Docker入门六部曲——Swarm

    原文链接:http://www.dubby.cn/detail.html?id=8738 准备工作 安装Docker(版本最低1.13). 安装好Docker Compose,上一篇文章介绍过的. 安 ...

  3. Docker入门六部曲——Stack

    原文链接:http://www.dubby.cn/detail.html?id=8739 准备知识 安装Docker(版本最低1.13). 阅读完Docker入门六部曲--Swarm,并且完成其中介绍 ...

  4. Docker入门六部曲——服务

    原文链接:http://www.dubby.cn/detail.html?id=8735 准备 已经安装好Docker 1.13或者以上的版本. 安装好Docker Compose.如果你是用的是Do ...

  5. 【springboot】入门

    简介: springBoot是spring团队为了整合spring全家桶中的系列框架做研究出来的一个轻量级框架.随着spring4.0推出而推出,springBoot可以説是J2SEE的一站式解决方案 ...

  6. SpringBoot (一) :入门篇 Hello World

    什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...

  7. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

  8. 5 分钟入门 Google 最强NLP模型:BERT

    BERT (Bidirectional Encoder Representations from Transformers) 10月11日,Google AI Language 发布了论文 BERT: ...

  9. 命名实体识别入门教程(必看)

    关于开发自己的命名实体识别先期思路: 虽然网上有很多相关代码,但实际如何入门材料较少,故整理下: CRF:先期可以用人民日报语料库去做,步骤如下: https://blog.csdn.net/hude ...

最新文章

  1. 如何通过一个类名找到它属于哪个jar包?
  2. 【转】函数调用时堆栈变化
  3. Lucene.Net(转)
  4. Swift快速参考手册
  5. centos6.5 bash基础命令2
  6. Autowired,Qualifier,Spring 按名称注入bean属性
  7. docker 进入容器
  8. [BZOJ4873][六省联考2017]寿司餐厅(最大权闭合子图)
  9. Linux进程学习(孤儿进程和守护进程)
  10. 《Java 学习笔记》 第剩余章节阅读体验附书评。
  11. qimage加载jpg失败_QImage基本api
  12. lol微信登录服务器,LOL开启微信登录功能测试 绑定微信登陆方法一览
  13. python 如何调试uc浏览器_UC浏览器开发者工具
  14. 我的电脑不显示u盘解决方法
  15. 通过游戏学java(适合初学者)
  16. 使用CreateJS制作动画
  17. 单例/单体模式(Singleton)
  18. python 函数参数(必选参数、默认参数、可选参数、关键字参数)
  19. python中排序从小到大_面试官:如何用Python实现三个整数从小到大排序?
  20. 太恐怖!黑客知道你的电话号码就能监控你的一举一动

热门文章

  1. java怎么获取文本里的值_怎么获取到text中的文本,或者title中的值
  2. 《系统集成项目管理工程师》必背100个知识点-57沟通管理
  3. 《系统集成项目管理工程师》必背100个知识点-06项目经理(PM)和PMO的区别
  4. 项目经理这些技能,是项目成功的关键保障
  5. 项目整体管理:项目整体管理实现过程
  6. 信息系统项目管理师-知识、变更、战略管理核心知识点思维脑图
  7. Ubuntu Server 16.04 LTS上给Docker配置镜像加速器
  8. MyBatis中提示:元素类型为 mapper 的内容必须匹配 (cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|de
  9. AndroidSDK下载以及配置
  10. session和cookie到底有什么联系?这一篇文章给你分析的明明白白~