zoukankan      html  css  js  c++  java
  • 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);
            }
    
        }

      

  • 相关阅读:
    P3387 【模板】缩点 tarjan
    P2831 愤怒的小鸟 状压dp
    交流帖
    P3959 宝藏 模拟退火。。。
    B1060 [ZJOI2007]时态同步 dfs
    P1850 换教室 概率dp
    树链刨分(待修改)
    B3403 [Usaco2009 Open]Cow Line 直线上的牛 deque
    B3402 [Usaco2009 Open]Hide and Seek 捉迷藏 最短路
    B5248 [2018多省省队联测]一双木棋 状压dp
  • 原文地址:https://www.cnblogs.com/cxeye/p/4837160.html
Copyright © 2011-2022 走看看