• 界面布局控件WeifenLuo.WinFormsUI.Docking


    最近在学习Sharpdevelop的过程中,看到了使用的很好的winform页面布局控件,感觉非常的不错。实现效果如下所示:

      

    这里我就简单的下一下他的实现步骤,当中我也看考了其他人的博客。 

    1) 创建一个windows Form的应用程序

    2) 添加引用:WeifenLuo.WinFormsUI.Docking

    他是一个DLL文件,可以自行从网络上下载。

    3) 设置Form1窗体作为父窗体容器。设置它的:isMdiContainer属性为:true

    4) 工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel

     

     

    5) DockPanel控件拖放到Form1窗体中,并设置它的dock属性为Fill

    6) 添加一个新的Form窗体,命名为child_1,进入后台代码,添加下面的命名空间:

    using WeifenLuo.WinFormsUI.Docking;

    修改child_1窗体集成的基类为:DockContent

    public partial class child_1 :DockContent

    7) 同理创建另一个新窗体,命名为child_2,后面的操作同child_1相同,都是添加命名空间,以及修改继承的基类

    8) 进入form1的后台代码,在他的窗体加载事件中添加如下的代码

         private void Form1_Load(object sender, EventArgs e)

            {

                child_1 b = new child_1();

                b.Show(this.dockPanel1);

                b.DockTo(this.dockPanel1, DockStyle.Fill);

     

                child_2 c = new child_2();

                c.Show(this.dockPanel1);

                c.DockTo(this.dockPanel1, DockStyle.None);

     }

    9) 运行程序,效果如上图所示。

    PS:这里仅仅是简单的介绍了一下如何创建类似的布局。还有很多的东西需要在深入的学习。

    PS: b.DockTo(this.dockPanel1, DockStyle.Fill);该行代码是设置子窗体的停靠方式的,这里设置的停靠方式为Fill,不过该控件还有其他的停靠方式:比如:bottomlefttoprightnone等方式,我们设置不同的属性,就会有不同的停靠效果。

    PS:如果dockPanel嵌套在另1个容器控件上(如:panel),将dockPanel属性DocumentStyle设置为:DockingWindow/DockingSdi

     

  • 相关阅读:
    lambda表达式
    PAT 1071. Speech Patterns
    PAT 1070. Mooncake
    1069. The Black Hole of Numbers
    PAT 1068. Find More Coins
    背包问题(动态规划)
    PAT 1067. Sort with Swap(0,*)
    PAT 1066. Root of AVL Tree
    PAT 1065. A+B and C
    PAT 1064. Complete Binary Search Tree
  • 原文地址:https://www.cnblogs.com/xingchen/p/1930159.html
Copyright © 2020-2023  润新知