1. 控件dockpanel中提供了几个可用的类, 重要的有两个, 一是DockPanel, 一是DockContent,

       DockPanel是从panel继承出来的, 用于提供可浮动的dock的子窗口进行浮动和dock的场所,
    DockContent是从form类中继承出来的, 用于提供可浮动的窗口基类. 就是说: DockContent对象可以在DockPanel对象中任意贴边, 浮动, TAB化等.
  2. 引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll。
  3. 工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel。
  4. 将dockPanel拖到窗体Form1上,设置Dock属性,我设置的是:Fill。窗体属性IsMdiContainer:True。
  5. 在代码中修改窗体继承于DockContent。           public partial class Form2 : DockContent
  6. 在主窗体中:
    public partial class Form1 : DockContent
    {
    //子窗体
    private FrmCustomer frmCustomer = new FrmCustomer();
    private b_employee employee = new b_employee (); public Form1()
    {
    InitializeComponent();
    frmCustomer.Show(this.dockPanel1);
    employee.Show(this.dockPanel1);
    System.Threading.Thread.Sleep();
    } private void Form1_Load(object sender, EventArgs e)
    {
    Form2 frm = new Form2();
    frm.Show(this.dockPanel1);
    //窗体Form2添加到主窗体左边缘
    frm.DockTo(this.dockPanel1,DockStyle.Left);
    }
    }
  7. 在主窗体中添加右键事件,设置dockPanel的contentMenuScrip为拖拽的menuscrip,窗体添加
     /// <summary>
    /// 关闭所有窗体
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void menu_Window_CloseAll_Click(object sender, EventArgs e)
    {
    CloseAllDocuments();
    } public void CloseAllDocuments()
    {
    if (dockPanel1.DocumentStyle==DocumentStyle.SystemMdi)
    {
    foreach (Form form in MdiChildren)
    {
    form.Close();
    }
    }
    else
    {
    IDockContent[] documents=dockPanel1.DocumentsToArray();
    foreach (IDockContent content in documents)
    {
    content.DockHandler.Close();
    }
    }
    }
    /// <summary>
    /// 关闭其他窗体
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void menu_Window_CloseOther_Click(object sender, EventArgs e)
    {
    if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi)
    {
    Form activeMdi = ActiveMdiChild;
    foreach (Form form in MdiChildren)
    {
    if (form != activeMdi)
    {
    form.Close();
    }
    }
    }
    else
    {
    foreach (IDockContent document in dockPanel1.DocumentsToArray())
    {
    if (!document.DockHandler.IsActivated)
    {
    document.DockHandler.Close();
    }
    }
    }
    } /// <summary>
    /// 找到窗体
    /// </summary>
    /// <param name="text"></param>
    /// <returns></returns>
    private DockContent FindDocument(string text)
    {
    if (dockPanel1.DocumentStyle == DocumentStyle.SystemMdi)
    {
    foreach (Form form in MdiChildren)
    {
    if (form.Text == text)
    {
    return form as DockContent;
    }
    }
    return null;
    }
    else {
    foreach (DockContent content in dockPanel1.Documents)
    {
    if (content.DockHandler.TabText==text)
    {
    return content;
    }
    } return null;
    }
    }
    public DockContent ShowContent(string caption, Type formType)
    {
    DockContent frm = FindDocument(caption);
    if (frm==null)
    {
    // frm = ChildWinManagement.LoadMdiForm(Portal.gc.MainDialog, formType) as DockContent;
    }
    frm.Show(this.dockPanel1);
    frm.BringToFront();//将控件带到前面
    return frm;
    }

学习winform第三方界面weiFenLuo.winFormsUI.Docking.dll的更多相关文章

  1. Winform中DockPanel(引用WeifenLuo.WinFormsUI.Docking.dll组件)的使用

    WeiFenLuo.WinFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可实现像Visual Studio的窗口停靠.拖拽等功能.WeifenLuo.Win ...

  2. weiFenLuo.winFormsUI.Docking.dll学习

    引用方法: 1.建立一个WinForm工程,默认生成了一个WinForm窗体. 2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll. 3 ...

  3. 开源布局控件 WeifenLuo.WinFormsUI.Docking.dll使用

    WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件.! 先看一下效果 使用说明: 1.新建一个WinForm程 ...

  4. WeifenLuo.WinFormsUI.Docking.dll的用法

    基本框架 说明 weiFenLuo.winFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可以实现像Visual Studio的窗口停靠.拖拽等功能.Weif ...

  5. WeiFenLuo.winFormsUI.Docking.dll的使用(停靠效果)

    1.  重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--- ...

  6. C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果

    很酷的效果,很值得好好去学习的哈. 重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命 ...

  7. WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一)

    WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一) 编写人:CC阿爸 2015-1-28 在伍华聪的博客中,看到布局控件"Weife ...

  8. WeifenLuo.WinFormsUI.Docking"的使用 z

    在伍华聪的博客中,看到布局控件"WeifenLuo.WinFormsUI.Docking",发现的确是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件. ...

  9. Winform- 界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用

    布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的. 实 ...

随机推荐

  1. 挑战程序2.1.4 穷竭搜索>>深度优先搜索

      深度优先搜索DFS,从最开始状态出发,遍历一种状态到底,再回溯搜索第二种. 题目:POJ2386  思路:(⊙v⊙)嗯  和例题同理啊,从@开始,搜索到所有可以走到的地方,把那里改为一个值(@或者 ...

  2. 用Django写出“hell world”

    一.系统实战环境 1 2 3 4 系统版本:CnetOS6.5 x86_64 Django版本:Django-1.5.8 MySQL版本:MySQL-5.1.73 Python版本: python-2 ...

  3. Boost学习笔记(一) 什么是Boost

    Boost库是一个功能强大.构造精巧,跨平台.开源并且完全免费的C++程序库

  4. [OC][转]UITableView属性及方法大全

    Tip: UITableView属性及方法大全  (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 1 ...

  5. SQL-Server使用点滴(三)

    除了基本的数据库,数据表,数据记录操作之外,SQL-Server还为我们提供了比较丰富的其他对象元素.函数,过程,触发器,序列,映射服务器, 以及对各种元素的系统表信息读取与判断. --先加一个利用递 ...

  6. BW知识问答锦集

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. kali4.0 安装32位库

    一.前情提要: OS:Kali4.0 64bit 二.安装32位库: 错误方法:sudo apt-get install lib6-i386 正确方法如下: 1.先以root用户身份登陆: su ro ...

  8. language model —— basic model 语言模型之基础模型

    一.发展 起源:统计语言模型起源于 Ponte 和 Croft 在 1998年的 SIGIR上发表的论文 应用:语言模型的应用很多: corsslingual retrieval distribute ...

  9. Asp.NET Visible属性与HTML display:none

    作为Asp.NET 程序猿,我们经常会遇到客户端HTML 元素与 WebPage Server端控件互操作的情景.如果没有很好的掌握两种技术的细节就很容易发生一些“莫名其妙的错误”. 我最近犯的一个错 ...

  10. 扒一扒自从买了kindle后看的书

    一.<性别战争> 讲述的是动物界各类动物的xxx(你懂的),以动物拟人化的口吻来进行问答,十分的生动形象,虽说和自己的生活没有多大联系,但是偶尔了解一下,也是意外的不错的感觉. 二.< ...