zoukankan      html  css  js  c++  java
  • C# WinForm MDI左右分栏 多文档

    1.主要用到的控件TreeViewSplitter,把父窗口IsMdiContainer设为True。子窗体StartPosition=Manual,效果如图

    用Splitter把父窗口分两个部分,左边放treeview,右边显示子窗体。

    打开子窗口代码

    代码
                Form childForm = new Form();
                childForm.MdiParent 
    = this;
                childForm.Text 
    = "Window " + childFormNumber++;
                childForm.Show();
    代码
      private void menu3_Click(object sender, EventArgs e)
      {
                
    //如果当前有子窗口打开,关闭当前的窗口
                if (this.MdiChildren.Length > 0)
                {
                    
    this.ActiveMdiChild.Close();
                }

                DataBillSystem.ReWork.FrmReWork frmReWork 
    = new DataBillSystem.ReWork.FrmReWork();
                frmReWork.MdiParent 
    = this;
                frmReWork.Show();
      }

    检查当前打开的窗口

    代码

    有时候我们需要在子窗体显示的时候就是最大化(也就是填充了整个父窗体),但通常会遇到以下麻烦: 如果在 Visual Studio 2010里通过属性工具栏设定了子窗体的 WindowState 为 Maximized,然后在运行过程中会发现子窗体实例化时不会最大化,而是当改变了父窗体的大小之后才随即最大化。而通过在子窗体的构造器里添加代码的方式也无济于事。

    解决办法:

    取消设置 WindowState 的值(改回默认的 Normal ),然后在实例化子窗体之后用代码设置它的WindowState即可,代码:

    C#

    frmMDIChild child = new frmMDIChild();

    child.MdiParent = this;

    child.WindowState = FormWindowState.Maximized;

    child.Show();

  • 相关阅读:
    MySQL RR隔离 读一致性
    C++奥赛一本通刷题记录(高精度)
    CodeVs天梯之Diamond
    CodeVs天梯之Gold
    CodeVs天梯之Silver
    CodeVs天梯之Bronze
    【2018.1.14】本蒟蒻又回来了
    test
    UVa12545
    UVa1149
  • 原文地址:https://www.cnblogs.com/ike_li/p/1613507.html
Copyright © 2011-2022 走看看