您的位置:首页 > 其它

DockingManager的使用入门

2010-07-06 23:20 302 查看
今天在做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~~~~~~~`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: