命名空间: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
版权声明:本文为博主原创文章,转载请附上博文链接!


少有人走的路


















