精华内容
下载资源
问答
  • C# MDI窗体

    千次阅读 2019-06-12 16:55:34
    MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。 在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。 MDI 窗体的设置并不复杂,只需要...

             MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。

    在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。

            MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。

             在窗体加载事件 Load 中设置窗体为 MDI 窗体,代码如下。

    this.IsMdiContainer = True;

            在 MDI 窗体中,弹出窗体的代码与直接弹出窗体有些不同,

    在使用 Show 方法显示窗体前需要使用窗体的 MdiParent 设置显示当前窗体的父窗体,实现的代码如下:

    Test t = new Test();
    t.MdiParent = this;  //this:当前窗体
    t.Show();

                

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsForm
    {
        public partial class MDI : Form
        {
            public MDI()
            {
                InitializeComponent();
                //MDI窗体的设置:将窗体的属性IsMdiContainer设置为True
                this.IsMdiContainer = true;
            }
    
            //打开文件菜单项的单击事件
            private void 打开文件ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //MDI弹出窗体:需要使用窗体的MdiParent设置当前窗体的父窗体
                OpenFile file = new OpenFile();
                file.MdiParent = this;
                file.Show();          
            }
    
            //保存文件菜单项单击事件
            private void 保存文件ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                SaveFile save = new SaveFile();
                save.MdiParent = this;
                save.Show();
            }
        }
    }
    

                                                  

    展开全文
  • C#开发时,在MDI窗体上直接放置控件后,默认情况下,其中的子窗体会在控件后方显示。这个源码本人多个程序中都有使用到,可以在MDI窗体上放置控件。 其他语言开发通过分析代码,亦有借鉴价值。
  • C#创建MDI窗体实例

    2016-02-28 17:08:18
    MDI窗体的创建,窗体的排列,不通子窗体之间的切换
  • C#MDI窗体

    2019-08-04 20:29:19
    原文https://blog.csdn.net/qq_36750158/article/details/79821585
    展开全文
  • 自己做项目需要的功能,实现了MDI窗体内部控件随MDI窗体大小的改变自动缩放,解决了最小化,最大化,控件不会丢失的问题!vs2008环境
  • 最近在做项目的时候,发现MDI窗体的主菜单的左边,当子窗体最大化的时候,显示了子窗体的图标ICON。
  • C# MDI窗体的设置

    2021-04-13 11:19:32
    在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的... //MDI窗体指的是多文档窗体 private void

    在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。

    MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。

    MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。

               //MDI窗体指的是多文档窗体
    
    private void 保存数据ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //MDI窗体指的是多文档窗体
                //本实验中Form1是父窗体  form2是子窗体
                //首先将Form1的IsMDIContainer属性改为true,则该窗体为父窗体
                //为便于显示子窗体  最好将父窗体的WindowState属性改为Maxmized
                Form2 f2 = new Form2();
                f2.MdiParent = this;//设置Form2的父窗体是Form1
                AddTabFormPage(tcpage,f2);//将f2子窗体嵌入到 form1 主窗体的 tabcontrol选项卡中           
            }
      public void AddTabFormPage(TabControl tab, Form form)
            {
                form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                form.TopLevel = false;//设置子窗体是非顶级窗体
                form.Dock = DockStyle.Fill;//填满页面
                form.WindowState = FormWindowState.Maximized;//最大化
                TabPage page = new TabPage();//实例化tabcontrol选项卡
                page.Controls.Add(form);//在tabcontrol选项卡中  添加 子窗体
                page.Name = form.Name;
                page.Text = form.Text;
                page.Width = form.Width;
                page.Height = form.Height;
                tab.TabPages.Add(page);
                form.Show();
            }      
    
    

    以下是主窗体子窗体以及效果
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • C# MDI窗体子窗体只显示一次

    热门讨论 2018-08-22 16:50:29
    窗体: //定义静态变量 static frmInquireStudent inquire = null; /// <summary> /// 子窗体只显示一次 /// </summary> /// <returns&...

    子窗体:

         //定义静态变量
            static frmInquireStudent inquire = null;
            /// <summary>
            /// 子窗体只显示一次
            /// </summary>
            /// <returns></returns>
            public static frmInquireStudent GetWindow()
            {
                if (inquire == null || inquire.IsDisposed)
                {
                    inquire = new frmInquireStudent();
                }
                else
                {
                    //让已经打开的窗体获取焦点
                    inquire.Activate();
                }
                return inquire;
            }

    父窗体:

    private void 学生信息ToolStripMenuItem_Click(object sender, EventArgs e)
     {
         //显示学生信息窗体
         frmInquireStudent frmInStu = frmInquireStudent.GetWindow();
         frmInStu.MdiParent = this;
         frmInStu.Show();
    }
    展开全文
  • 在做winform程序的时候,需要用到MDI窗体,在网上看了一些避免子窗体重复打开的问题。 现在我有一个MDI窗体formfather以及两个子窗体form1和form2。 在父窗体上弄两个按钮,点击按钮1的时候显示form1,点击按钮2的...
  • C#Mdi窗体,初学者实例
  • C#MDI窗体实现多窗口效果

    千次阅读 2015-03-18 16:06:49
    C#MDI窗体实现多窗口效果  Visual C#是微软公司推出的下一代主流程序开发语言,他也是一种功能十分强大的程 序设计语言,正在受到越来越多的编程人员的喜欢。在Visual C#中,提供了为实现MDI程序设计的很多功能。...
  • C#MDI窗体编程

    2012-05-06 15:34:56
    多文档界面(MDI)应用程序。MDI允许创建在单个容器窗体中包含多个窗体的应用程序,它一般包括三个部分。
  • C# 中的MDI 窗体

    千次阅读 2017-07-31 21:00:13
    SDI 窗体 (Single - document - interface) 正常创建出来的窗体 MDI 窗体 (multiple - document - interface 多文档界面),...MDI窗体的使用方法 确定一个副窗体,把窗体的IsMdiContainer属性设置为true。 创建
  • C# 创建MDI窗体

    千次阅读 2017-04-03 07:06:43
    修改窗体属性:找到IsMdiContainer属性改为True即可: 接下来我们在Form1窗口中创建一个按钮,用来打开一个窗口,看看是不是在Form1窗口里面显示的:双击From1窗体在Form1_Load方法里创建一个按钮,并且给...
  • c#MDI窗体打开子窗体,一般都会出现子窗体的标题栏,一般方法都是合并在MDI菜单栏中,该方法无需借助MDI菜单栏,直接隐藏子窗体标题栏
  • #1 DOCK属性的的顺序,本文以FILL为例 如果DOCK属性设置时的语句放置在设置父窗体之前,则最终无法正确显示。 private void MainForm_Load(object sender, EventArgs e) ... //设置主窗体为MDI窗体 ...
  • c#控件窗体如何保持等比例缩放,详情请看文档内容吧,OK
  • MDI编程中,从父窗体调用了子窗体,会出现子窗体隶属父窗体。但当我们要从一子窗体调用另一个子窗体,并且,调用过后,这个被子窗体调用出来的子窗体,会出现隶属于父窗体的情况是什么实现的呢? 下面是针对这种...
  • C# Winform在MDI中打开一个子窗体关闭上一个子窗体
  • 问题:MDI窗体中,父窗体控件会覆盖子窗体,网上很多解决方案表面上解决了问题,但失去了MDI窗体的基本特性,并不实用。比较赞成使用子窗体“代替”父窗体控件的方案。思路:不将控件放置在父窗体上,而是放在一个...
  • C#MDI窗体判断子窗体是否已经打开

    千次阅读 2015-03-19 09:36:20
    Mdi窗体的设置: IsMdiContainer 设置为true; 子窗体设置: ///  /// 显示子窗体  ///  ///  private void ShowForm(BaseForm _bt)  {  string name = _bt.Name;  
  • WinForm——MDI窗体

    千次阅读 2020-04-20 13:36:07
    MDI窗体由一个父窗体和若干个子窗体组成。MDI窗体允许同时显示多个窗体,他常包括含有子菜单的“窗口”菜单项,该菜单项用于在窗口之间进行切换。 MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置...
  •  这将该窗体指定为子窗口的MDI 容器.3.设置菜单栏工具栏等控件.假设点击按钮button1的触发事件为打开子窗体child.cs.二:创建子窗体1.添加一个Windows窗体,命名为child.cs.2.设置所需控件.3.在父窗体中双击button1...
  • 目录 1 窗体的创建 2 单例模式的实现 3 函数模式之Application.OpenForms实现 4 函数模式实现之遍历this.MdiChildren子窗体...(1)创建mdi窗体:新建窗体将其名称更改为FormMain,属性IsMdiContainer设置为tr...
  • MDI窗体默认是可以重复打开i子窗体的,而我们可以通过如下方法禁止重复打开子窗窗体 打开子窗体的函数: private void OpenChildForm(Form formChild)//formChild只是是实例化的但既没有设置为父窗体的子窗体也...
  • C# MDI窗体记事本

    2020-07-14 16:34:07
    实现了Windows记事本的大部分功能,可修改字体大小粗细及颜色,选择文字对齐方式,字数统计等
  • MDI窗体是指在父窗体中创建子窗体,且子窗体不能离开父窗体: 首先,为这个工程文件添加子窗体:右键工程名->添加->Windows窗体 添加了三个子窗体Form2,Form3,Form4: 再确定父窗体:该确认的父窗体的...
  • 最近在做项目的时候,发现MDI窗体的主菜单的左边,当子窗体最大化的时候,显示了子窗体的图标ICON。 解决办法,在主菜单的ItemAdded事件编写如下代码:   1 2 3 4 5 6 7 8 9 10 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,534
精华内容 1,013
关键字:

c#mdi窗体

c# 订阅