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

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

  实现步骤

1)引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll。
     2)主窗体改名为FormMainWnd,并将属性IsMdiContainer:True。
     3)工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel。
     4)将dockPanel拖到窗体FormMainWnd上,设置Dock属性为:Fill。

  添加FORM1窗体

  实现代码如下:

    public partial class Form1 : WeifenLuo.WinFormsUI.Docking.DockContent
    {
        private FormMainWnd mainForm;
        public Form1(FormMainWnd f)
        {
            mainForm = f;
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            mainForm.ShowFrom<Form2>();
        }
    }

  添加FORM2窗体

  实现代码如下:

    public partial class Form2 : WeifenLuo.WinFormsUI.Docking.DockContent
    {
        public Form2()
        {
            InitializeComponent();
        }
    }

  将FORM1和FORM2的HIDEONCLOSE属性设为TRUE

  主窗体的代码

    public partial class FormMainWnd : Form
    {

        public FormMainWnd()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //显示左边FORM1工具箱效果
            dockPanel1.DocumentStyle = DocumentStyle.DockingMdi;
            Form1 form = new Form1(this);
            form.Show(dockPanel1, DockState.DockLeft);

            //显示右边FORM2
            Form2 form2 = new Form2();
            ShowFrom<Form2>();
        }

        public void ShowFrom<T>() where T : DockContent, new()
        {
            foreach (var child in this.dockPanel1.Documents)
            {
                var dFrm = child as T;
                if (dFrm != null)
                {
                    dFrm.Activate();
                    return;
                }
            }
            new T().Show(dockPanel1);
        }

    }

  

时间: 2024-12-17 09:31:59

Winform- 界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用的相关文章

WinForm界面开发之布局控件&quot;WeifenLuo.WinFormsUI.Docking&quot;的使用

http://www.cnblogs.com/wuhuacong/archive/2009/07/09/1520082.html 本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的共享软件中使用布局控件"WeifenLuo.WinFormsUI.Docking". 布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的.先看看控件使用

WinForm界面布局控件WeifenLuo.WinFormsUI.Docking&quot;的使用 (二)

WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二) 编写人:CC阿爸 2015-1-29 今天我想与大家继续一起分享这一伟大的控件.有兴趣的同学,可以一同探讨与学习一下,否则就略过吧. 1.    DockPanel的一点点改进: 在浏览网上的一些技术文章发现,的确有些地方还是可以进一步改进,如当双击Tab时,原先是直接把当前Tab所表示的这个窗体,从主窗体的框架上分离现来,成为一个浮动的窗体.这不是我们想要的,有些同学修改源代码,把它改成了双击关

WinForm界面布局控件WeifenLuo.WinFormsUI.Docking&quot;的使用 (一)

WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一) 编写人:CC阿爸 2015-1-28 在伍华聪的博客中,看到布局控件"WeifenLuo.WinFormsUI.Docking",发现的确是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的今天在这里,我想与大家一起分这一伟大的控件.有兴趣的同学,可以一同探讨与学习一下,否则就略过吧. 一.引用方法: 1.建立一个WinFo

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

WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件.! 先看一下效果 使用说明: 1.新建一个WinForm程序,创建4个窗体,FrmMain,窗口1,窗口2,窗口3 2.工具箱->选择项->浏览 选择WeifenLuo.WinFormsUI.Docking.dll动态库, 确定后,工具箱中会多出一个DockPanel控件 3.FrmMain窗体设置为MDI窗体, 即IsMdiContainer属性设置为

在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件

在很多时候,我们做一些非常规化的界面的时候,往往需要创建一些用户控件,在其中绘制好一些基础的界面块,作为后续重复使用的一个单元,用户控件同时也可以封装处理一些简单的逻辑.在开发Winform各种类型项目,我都时不时需要定制一些特殊的用户控件,以方便在界面模块中反复使用.我们一般是在自定义的用户控件里面,添加各种各样的界面控件元素,或者封装一些特殊的函数处理共外部调用等.本篇随笔主要介绍基于DevExpress的Winform开发经验,介绍一个类似看板信息的用户控件,并在TabelLayout和S

C# winform中获取多重布局控件属性

问题描述: 在一个form窗体中定义了一个tabcontrol控件,tabcontrol包含多个page,每个page有自己的panel容器,容器里面有自定义的webnavigationbox控件,webnavigationbox控件中又包含了一个textbox控件. 现在要获取被选中的一个标签页的的textbox控件的文本内容. 思路:在tabselected响应事件中添加代码才能实时获取 注意:如果使用一下代码将会出错 _tabs.Selected += new System.Windows

C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用

概述 转自 http://www.cnblogs.com/luomingui/archive/2013/09/19/3329763.html 最近几天一直在关注WinFrom方面的文章 有想着提炼一下项目的公共部分,公共部分有分为 界面,类库两方面,今天主要是把界面也先提炼提炼. WeifenLuo.WinFormsUI.Docking + OutLookBar结合使用的效果图 WeifenLuo.WinFormsUI.Docking修改记录 从http://sourceforge.net/pr

WeifenLuo.WinFormsUI.Docking&quot;的使用 z

在伍华聪的博客中,看到布局控件"WeifenLuo.WinFormsUI.Docking",发现的确是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的今天在这里,我想与大家一起分这一伟大的控件.有兴趣的同学,可以一同探讨与学习一下,否则就略过吧. 一.引用方法: 1.建立一个WinForm工程,默认生成了一个WinForm窗体. 2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docki

WeifenLuo.WinFormsUI.Docking&quot;的使用

要用 WeifenLuo.WinFormsUI.Docking 首先要下载: WeifenLuo.WinFormsUI.Docking 在当前工程“解决方案 - 引用”中 >> 右击引用 >> 浏览 >> 找到你存放的 WeifenLuo.WinFormsUI.Docking添加. 1.首先,我们添加一个主界面窗体,命名为MainForm,该窗体IsMdiContainer设置为True,也就是设置为多文档窗体格式.拖拉布局控件"WeifenLuo.WinFo