命名空间:netMarketing.winformHelper.dockingHelper
功能:方便使用Docking的辅助类. Docking提供了窗体停靠的功能,类似VS编辑器的窗体停靠。
功能详细说明:
Docking是一个窗体停靠效果的控件,类似于VS面板中的依靠功能。这个类的作用是让Docking更加容易使用。
要实现窗体停靠要做到三个方面:
1. MainForm中放入dockPanel控件
2. MainForm的属性IsMdiContainer改为true
3. 所有Form(包括主窗体mainForm)都更为继承myForm类(这个myForm类又继承了DockContent类和权限类的功能)
常用函数列表:
参考例子:
using dockingTest.Dialog; using netMarketing.winformHelper; using sharClass; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace dockingTest { public partial class Form1 : myForm { public dockingHelper dock = null; public Form1() { InitializeComponent(); try { dock = new dockingHelper("docking1", this.dockPanel1, new List<myForm>() { new dataForm("生产数据窗口"), new setupForm("系统设置窗口"), }); } catch (ArgumentException ex) { MessageBox.Show(ex.Message); } } private void Form1_Load(object sender, EventArgs e) { dock.loadDockingInfo(); base.FormloadEvent(sender, e); } private void 数据窗口ToolStripMenuItem_Click(object sender, EventArgs e) { dock.show("系统设置窗口", WeifenLuo.WinFormsUI.Docking.DockState.DockLeft, null); } private void 调试窗体ToolStripMenuItem_Click(object sender, EventArgs e) { dock.show("生产数据窗口", WeifenLuo.WinFormsUI.Docking.DockState.Document, null); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { dock.saveDockingInfo(); base.FormcloseEvent(sender, e); } } }
下图是演示程序的文件结构
下图是程序运行结果,你可以鼠标操作剥离窗体任何停靠。
或者可以任意关闭窗体,然后通过菜单重新唤出窗体。
如果你想知道Docking控件原始的使用方法(不使用dockingHelper类),可以参考下面的贴子:
WinFormsUI.Docking.dll和OutlookBar的应用实例(带C#源码)
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

