winform学习(5)MDI窗体
SDI窗体 single document interface 单文档界面,即单个简单的窗体
MDI窗体 multiple document interface 多文档界面(主窗体与子窗体的关系,避免交互界面混乱)
MDI窗体的使用方法:
①确定一个主窗体,并将属性IsMdiContainer设置为true
②创建子窗体,并设置它们的主窗体 设置代码:子窗体的对象.MdiParent = 主窗体对象;
注:MenuStrip是菜单栏控件
对主窗体下的所有子窗体进行排列:
LayoutMdi 是 Form类中对子窗体进行排列的方法,参数是一个枚举MdiLayout
LayoutMdi(MdiLayout.Cascade); //所有子窗体层叠显示
LayoutMdi(MdiLayout.TileHorizontal);//所有子窗体水平平铺在主窗体内
LayoutMdi(MdiLayout.TileVertical);//所有子窗体垂直平铺在主窗体内

层叠显示

水平平铺:

垂直平铺:

注:关闭窗体除了点击右上角x号,还可以使用Close()方法
想要关闭应用程序,必须将主窗体创建的实例都关闭,可以新建一个静态类,存储主窗体的实例,最后用于关闭(静态存储,全局共享)
public static class Single
{
public static Form1 _ff;
}
可以在主窗体的加载事件的方法中或者初始化方法中 使 Single._ff = this;
winform学习(5)MDI窗体的更多相关文章
- Winform下去除MDI窗体边框
做项目中间遇到了MDI窗体内边框的问题,经过苦苦寻找,最终得到了解决方案 在Main窗体中调用API // Win32 Constants ; ; private const int WS_BORDE ...
- C#学习笔记——MDI窗体(多文档界面)
1.设置父窗体: 如果要将某个窗体设置为父窗体,只需将该窗体的IsMdiContainer属性设置为True即可. 2.设置子窗体: 通过设为某个窗体的MdiParent属性来确定该窗体是那个窗体的子 ...
- Winform学习手册(目录)
一.基础: WINFORM学习笔记——创建Winform项目 WINFORM学习手册——TextBox.Lable.Button WINFORM学习笔记——窗体生命周期 WINFORM学习手册——对话 ...
- 小菜学习Winform(四)MDI窗体(附示例)
前言 在做winfrom项目的时候我们可能会用到嵌套窗体,就是说一个容器中有多个窗体,可以分别管理和应用这些窗体,.net中提供了一种机制就是MDI,可能大家都会用,这边就简单的介绍下. 简单应用 w ...
- C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下 ...
- Winform MDI窗体切换不闪烁的解决办法(测试通过)
https://stackoverflow.com/questions/5817632/beginupdate-endupdate-for-datagridview-request SuspendLa ...
- Winform MDI窗体容器、权限、简单通讯
MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体 ...
- Winform MDI窗体容器,权限以及简单通讯
MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体 ...
- Winform MDI窗体容器 权限 简单通讯
MDI窗体容器 权限 using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...
随机推荐
- Eigen库学习---Map类
Eigen中定义了一系列的vector和matrix,相比copy数据,更一般的方式是复用数据的内存,将它们转变为Eigen类型.Map类很好地实现了这个功能. Map定义 Map(PointerAr ...
- 实现字符串和从0到n-1范围内的数字串的一一对应---->poj1200
#include<iostream> using namespace std; ; int num[maxn]; string s; int main() { int nc;//字符串s中 ...
- 【Python】表白程序
程序链接:https://www.lanzous.com/i8xj5mh # 打包操作 # 安装pyinstaller # cmd输入 pip install pyinstaller # shift ...
- mybatis(三):框架结构
- numpy Array[:,]的取值方法
- 并查集路径压缩优化 UnionFind PathCompression(C++)
/* * UnionFind.h * 有两种实现方式,QuickFind和QuickUnion * QuickFind: * 查找O(1) * 合并O(n) * QuickUnion:(建议使用) * ...
- 连接本地mysql报错
报错信息如下: 原因为未启动本地mysql,没设置开机自启动.
- K3修改字段名
在K3的BOS中,自定义字段之后我们往往会修改字段名,便于记忆和理解,但是修改字段名之后,只是数据库中的字段名被修改了,BOS中的字段标识并没有被修改,可以通过以下语句将标识和字段名改成一致. sel ...
- [WC2006] 水管局长 - Link Cut Tree
离线后逆序处理所有操作,那么就变成了加边询问,根据MST的性质,显然维护MST询问链上max即可 #include <bits/stdc++.h> using namespace std; ...
- echart --toolbox
1.自定义的toolbox 消息回调 toolbox: { show: true, itemSize: 32, borderColor: '#0cb1b6', borderWidth: 1, bord ...