zoukankan      html  css  js  c++  java
  • MDI窗体

    1.设置父窗体

    使用MDI窗体,需要先将父窗体的IsMdiContainer属性设置为True

    2.生成用于MDI子窗体的窗体

     1  frmTemp f1 = new frmTemp();
     2  f1.Text = "窗体1";
     3  f1.MdiParent = this;
     4  f1.Show();
     5 
     6  frmTemp f2 = new frmTemp();
     7  f2.Text = "窗体2";
     8  f2.MdiParent = this;
     9  f2.Show();
    10 
    11  frmTemp f3 = new frmTemp();
    12  f3.Text = "窗体3";
    13  f3.MdiParent = this;
    14  f3.Show();

    3.排列子窗体

    层叠排列

    1   LayoutMdi(MdiLayout.Cascade);

    水平平铺

    1   LayoutMdi(MdiLayout.TileHorizontal);

    垂直排列

    1   LayoutMdi(MdiLayout.TileVertical);

    ***********************************分割线**********************************

    4.对于MDI,常用的是在父窗体中加载MDI子窗体,并且经常会在子窗体之间切换,实现的效果如下

    1)创建两个不同的子窗体,并分别设置窗体的BackgroundImage,用于区分窗体

    2)通过菜单栏的功能,选择对应的窗体

    3)对于窗体,判断之前是否存在,进行不通的操作

    代码如下:

     1    private void 企鹅ToolStripMenuItem_Click(object sender, EventArgs e)
     2    {
     3        //窗体没有创建或者窗体被释放
     4        if (f2 == null || f2.IsDisposed == true)
     5        {
     6            f2 = new frmTemp2();
     7            f2.FormBorderStyle = FormBorderStyle.None;
     8            f2.MdiParent = this;    //设置窗体的MDI父窗体
     9            f2.Parent = this.panel1;//设置控件的父容器
    10            f2.Dock = DockStyle.Fill;
    11            f2.Show();
    12            if (f1 != null)
    13                f1.SendToBack();
    14        }
    15        else
    16        {
    17            f2.Activate();//使窗体获得焦点
    18            f2.BringToFront();
    19        }
    20    }

    所有的示例程序链接如下:

    http://download.csdn.net/detail/u010312811/9446887

    更新1:(因为程序修改不大,没有动之前上传的代码)

    如何解决界面之间切换的闪烁问题:

    修改两个MDI子界面的构造函数,如下:

    1   this.SetStyle(
    2       ControlStyles.AllPaintingInWmPaint |
    3       ControlStyles.OptimizedDoubleBuffer, true);
    4   this.UpdateStyles();

    效果图如下:

     
  • 相关阅读:
    POJ 3660 Cow Contest (floyd求联通关系)
    POJ 3660 Cow Contest (最短路dijkstra)
    POJ 1860 Currency Exchange (bellman-ford判负环)
    POJ 3268 Silver Cow Party (最短路dijkstra)
    POJ 1679 The Unique MST (最小生成树)
    POJ 3026 Borg Maze (最小生成树)
    HDU 4891 The Great Pan (模拟)
    HDU 4950 Monster (水题)
    URAL 2040 Palindromes and Super Abilities 2 (回文自动机)
    URAL 2037 Richness of binary words (回文子串,找规律)
  • 原文地址:https://www.cnblogs.com/imstrive/p/5225069.html
Copyright © 2011-2022 走看看