多文档界面(Multiple-Document Interface),简称MDI窗体。MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中。MDI窗体中通常有包含子菜单的窗口菜单,用于在窗口或文档之间进行切换。

一、设置MDI窗体

在MDI窗体中,起到容器作用的窗体被称为“父窗体”,可放在父窗体中的其他窗体被称为“子窗体”,也称为“MDI子窗体”。当MDI应用程序启动时,首先会显示父窗体。所有的子窗体都在父窗体中打开,在父窗体中可以在任何时候打开多个子窗体。每个应用程序只有一个父窗体,其他子窗体不能移出父窗体的框架区域。

Ⅰ.设置父窗体

如果要将某个窗体设置为父窗体,只要在窗体的属性面板中,将IsMdiContainer属性设置为True即可。

注:在设置MDI父窗体时,要尽可能地用项目的启动窗体进行设置。

Ⅱ.设置子窗体

设置完父窗体后,通过设置某个窗体的MdiParent属性来确定子窗体。语法:

Public Form MdiParent{get;set;}

例:将Form2,Form3窗体设置为子窗体,并在父窗体中打开,代码如下:

Form2 fm2 = new Form2();   //实例化Form2

Fm2.Show();                //使用Show()方法打开窗体

Fm2.MdiParent = this;      //设置MdiParent属性,将当前窗体设置为父窗体

Form3 fm3 = new Form3();   //实例化Form3

Fm3.Show();                //使用Show()方法打开窗体

Fm3.MdiParent = this;      //设置MdiParent属性,将当前窗体设置为父窗体

二、排列MDI子窗体

可以通过使用带有MdiLayout枚举的LayoutMdi方法来排列多文档界面父窗体中的子窗体。语法:

Public void LayoutMdi(MdiLayout value);

说明:value是MdiLayout枚举值之一,用来定义MDI子窗体的布局。MdiLayout枚举用于指定MDI父窗体中子窗体的布局。

例:LayoutMdi(MdiLayout.Cascade);

MdiLayout的枚举成员说明如下:

枚举成员

说明

Cascade

所有MDI子窗体均层叠在MDI父窗体的工作区内

TileHorizontal

所有MDI子窗体均水平平铺在MDI父窗体的工作区内

TileVertical

所有MDI子窗体均垂直平铺在MDI父窗体的工作区内

MDI窗体(多文档界面)相关推荐

  1. C#—MDI(多文档界面)

    父窗体与子窗体实例. 设计一个登陆窗体及一个MDI窗体. (1)登录窗体:假设密码为"123456",密码正确,则打开一个MDI窗体,否则给出错误提示. (2)假设MDI主窗体MD ...

  2. Qt:77---Demo(MDI多文档界面案例)

    本案例的基础知识来自于文章:https://blog.csdn.net/qq_41453285/article/details/98949333 一.文档类窗体的设计 这个窗体类是用来放在主窗体的MD ...

  3. Qt实现Word文档界面样式--QtitanRibbon

    QtitanRibbon - Microsoft Ribbon for Nokia's Qt概念的实现 QtitanRibbon组件实现了Microsoft Ribbon for Qt的概念,设计用于 ...

  4. 1-4 多文档界面处理(2)

    1-4-3 多文档界面的窗体传值技术 1.简介 一般在一个Windows开发项目系统之中,多文档窗口(MDI)只有一个,而其余的窗口为非MDI窗口,在设定窗口的父子关系时候,需要指定这些非MDI窗口的 ...

  5. Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)

    一个典型的GUI应用程序可能有多个窗口,选项卡控件和堆栈窗口控件允许一次使用其中的一个窗口.然而,很多时候这种方法不是很有用,因为其他窗口的视图是隐藏的一种同时显示多个窗口的方法是,创建多个独立的窗口 ...

  6. wxWidgets:多文档界面实例

    wxWidgets:多文档界面实例 wxWidgets:多文档界面实例 mdi.h完整源代码 mdi.cpp完整源代码 wxWidgets:多文档界面实例 mdi.h完整源代码 #include &q ...

  7. Spring Boot整合swagger2(生成有左右菜单式的api文档界面)

    一.pom.xml内容: <!--=====依赖swagger2 zhongzk 2019.7.7 --> <dependency><groupId>io.spri ...

  8. C#学习笔记——MDI窗体(多文档界面)

    1.设置父窗体: 如果要将某个窗体设置为父窗体,只需将该窗体的IsMdiContainer属性设置为True即可. 2.设置子窗体: 通过设为某个窗体的MdiParent属性来确定该窗体是那个窗体的子 ...

  9. 1-4 多文档界面处理(3)

    5.<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> <?xml:namesp ...

最新文章

  1. 从面试官角度观察到的程序员工资瓶颈,同时给出突破瓶颈的建议
  2. 列表是否包含简短的包含功能?
  3. 解决通过QQ客户端的空间邮箱等打开空间邮箱
  4. 用navicate 连接本地数据库提示用户名/口令无效
  5. MongoDB ( 五 )高级_管理:用户的创建、删除与修改
  6. Bug之数据sql插入不显示
  7. SVN 自动部署到开发环境
  8. 华为在中国建立其全球最大的网络安全透明中心
  9. OS X上搭建distcc使用XCode进行分布式编译
  10. Asp.net MVC 4 Attributes特性
  11. 自由读写配置文件的艺术[java c++ node](二)
  12. Linux下的dhcp测试实现方法
  13. 档案管理软件 php_致PM:除了Excel,你还有这五个项目管理软件可以用
  14. 微信小程序超市购物+后台管理系统|前后分离VUE
  15. Tableau-堆积图
  16. “河南旦”的四个坟墓的故事·《晚唱·贾平凹》
  17. 为什么只看重结果_太过于看重结果会失掉过程
  18. 记录自己学习尚硅谷javaweb2022版中遇到的一些问题
  19. 使用KNN和SVM算法实现手写字体识别分类
  20. 百度信息流介绍,没有比这更详细的啦

热门文章

  1. 电商数据监测全过程——采集、清洗、分析
  2. BUUCTF·[WUSTCTF2020]大数计算·WP
  3. c++主线程和子线程
  4. 手机邮箱看不到已发送邮件_iPhone用户请注意:你的邮件App得禁用,刚曝光的安全漏洞,iOS 6以上设备全中招...
  5. 二十岁的女孩应该有的思想
  6. Aspose.CAD使用教程:使用 C# 将 DGN 转换为 JPEG、PNG 或 TIFF 图像
  7. 16个免费高质量无版权图片视频网站分享,可以商用!
  8. flutter的Toast
  9. 【深度学习中模型评价指标汇总(混淆矩阵、recall、precision、F1、AUC面积、ROC曲线、ErrorRate)】
  10. 利用amWiki轻松打造知识库或技术文档系统