由于项目中要用到可停靠、可浮动窗体,在网上找了一下,还真有这样的组件,并且是开源的,下载之后发现很好用。虽然在网上己经有了关于这方面的文章,但为了方便广大网友使用,我在这里就再写点关键代码吧。
首先是加载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.5.//以上四个属性分别设置子窗体第一次出现在上、下、左、右位置停靠时,默认的大小,如果值小于1,如0.1,子窗体的大小为dockPanel1大小的10%,如果大于1,如300,子窗体初次显示的高度或宽度就为300 6.this.dockPanel1.DockBottomPortion
7.this.dockPanel1.DockLeftPortion
8.this.dockPanel1.DockRightPortion
9.this.dockPanel1.DockTopPortion
下面,我们再新建一个Form2,并且做如下修改
1.public partial class Form2: Form
2.//改为 3.public partial class Form2: WeifenLuo.WinFormsUI.Docking.DockContent
4.5.this.TabText//子窗体显示标题 6.7.this.AutoHidePortion//当前窗体浮动时的默认大小,小于1时为主窗体DockPanel1大小的百分比,大于1时为宽度或高度的值 8.9.this.ShowHint//窗体第一次显示的位置,也可以在主窗体中打开时设置 10.接下来在回到主窗体中
1.Form2 f=new Form2();
2.f.Show(this.DockPanel1);