利用DockPanel实现可停靠、可浮动、多文档窗体

来源:互联网 发布:boox和kindle对比 知乎 编辑:程序博客网 时间:2024/04/30 04:30

由于项目中要用到可停靠、可浮动窗体,在网上找了一下,还真有这样的组件,并且是开源的,下载之后发现很好用。虽然在网上己经有了关于这方面的文章,但为了方便广大网友使用,我在这里就再写点关键代码吧。

 

         首先是加载Dll,在您的工具箱中点右键→选择项→浏览→找到WeifenLuo.WinFormsUI.Docking.dll→确定,这时候,在您的工具箱中会多出一个控件。

 

         接下来,您可以把这个控件拖放到您的窗体(Form1)上,设置下面几个常用的属性

 

  1. this.dockPanel1.Dock = DockStyle.Fill
  2. this.dockPanel1.DocumentStyle=WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingMdi;//要设置主窗体为MDI窗体,否则报错。其它几个值不需要设置主窗体为MDI,再就是样式上略有不同了。 
  3. this.dockPanel1.DefaultFloatWindowSize//设置浮动窗体的默认Size 
  4. //以上四个属性分别设置子窗体第一次出现在上、下、左、右位置停靠时,默认的大小,如果值小于1,如0.1,子窗体的大小为dockPanel1大小的10%,如果大于1,如300,子窗体初次显示的高度或宽度就为300 
  5. this.dockPanel1.DockBottomPortion
  6. this.dockPanel1.DockLeftPortion
  7. this.dockPanel1.DockRightPortion
  8. this.dockPanel1.DockTopPortion

 下面,我们再新建一个Form2,并且做如下修改

  1. public partial class Form2: Form
  2. //改为 
  3. public partial class Form2: WeifenLuo.WinFormsUI.Docking.DockContent
  4. this.TabText//子窗体显示标题 
  5. this.AutoHidePortion//当前窗体浮动时的默认大小,小于1时为主窗体DockPanel1大小的百分比,大于1时为宽度或高度的值 
  6. this.ShowHint//窗体第一次显示的位置,也可以在主窗体中打开时设置

接下来在回到主窗体中

 

 

  1. Form2 f=new Form2();
  2. f.Show(this.DockPanel1);

 下面看一下效果吧^_^。

 

 

下载连接

 

再一次感谢DockPanel的作者罗先生

原创粉丝点击