少有人走的路

勇哥的工业自动化技术网站

[netMarketing类库] dockingHelper类:Docking(窗体停靠控件)的辅助类


命名空间: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);
        }
    }
}



下图是演示程序的文件结构

image.png

下图是程序运行结果,你可以鼠标操作剥离窗体任何停靠。

或者可以任意关闭窗体,然后通过菜单重新唤出窗体。

image.png



如果你想知道Docking控件原始的使用方法(不使用dockingHelper类),可以参考下面的贴子:

WinFormsUI.Docking.dll和OutlookBar的应用实例(带C#源码)


--------------------- 

作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

返回类库功能说明目录


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864