MDI窗体 的再度思考
早在敲学生管理系统的时候,青山师哥就跟我说过 MDI 窗体 跟 子窗体的事情,当时只是简单的查询、小小的用了一下,没有太在意、
当再次面对着这个东西更深层的时候才想起师哥那句话、“好好研究一下这个东西吧,以后会经常用的。”,这下记住了,学长的话一定要好好的听、好好的实践...
MDI多窗体程序由MDI主窗体与MDI子窗体组成。通常在主窗体内设计下拉式菜单或工具栏,执行菜单项命令或者工具栏中按钮命令时调用子窗体程序,被打开的子窗体界面将被限制在主窗体的用户工作区内。下面依次介绍创建MDI主窗体与子窗体的方法,及在主窗体内调用子窗体程序的方法。
一、创建MDI主窗体
1、创建MDI主窗体
(1)执行菜单命令:工程 | 添加MDI窗体,出现“添加MDI窗体”对话框。
(2)选择“新建”或使用“现存”窗体,单击“打开”按钮后出现MDI主窗体界面。
2、将MDI主窗体设为工程的启动窗体
(1)执行菜单命令:工程 | 工程属性,出现工程属性对话框。
(2)在对话框的通用选项卡中单击启动对象下拉按钮,选择MDI窗体名,则MDI窗体成为启动窗口。
注意:一个应用程序只能有一个MDI窗体,如果工程已经有了一个MDI窗体,则该工程菜单上的添加MDI窗体命令就不可使用。
二、建立MDI子窗体
1、创建MDI子窗体的方法
(1)工程中创建一个新的普通窗体;
(2)将MDIChild属性设为True。
2、MDI窗体运行时的特性
(1)所有子窗体都显示在MDI窗体的工作空间内。
(2)当最小化一个子窗体时,它的图标将显示在MDI窗体上而不是任务栏中。
(3)当最大化一个子窗体时,它的标题会与MDI窗体的标题组合在一起并显示于MDI标题栏上。
(4)通过设定AutoShowChildren属性,子窗体可以在窗体加载时自动显示或自动隐藏。
(5)活动子窗体的菜单(若有)将显示在MDI窗体的菜单栏中,而不是显示在子窗体中。
三、MDI窗口菜单设计
所谓“窗口”菜单是指专门用于显示已打开子窗体的标题名称,并能对已打开子窗体进行“层叠”、“平铺”、“垂直”与“排列图标”等项操作的菜单项。
1、创建“窗口”菜单项
当某个菜单项的“显示窗口列表”复选框有效时(即 WindowsList=True),所有已打开子窗体的标题名称将出现在该菜单项的下方。
2、“窗口”一级子菜单项的设计
在菜单编辑器中,给MDI“窗口”菜单添加“层叠”、“平铺”、“垂直”与“排列”四个一级子菜单项。然后使用MDI窗体的Arrange方法实现“层叠”、“平铺”、“垂直”与“排列”的功能。
Arrange方法的语法:<窗体名>.Arrange( 实参 )
如果是在学习的初步,可以更形象的理解为 MDI其实就可以理解成是老爸和儿子的关系,儿子总是听老子的话,子窗体不能超出父窗体,无论怎么移动都只能在父窗体里面!大小、缩放等..
聪明人、是拿别人撞得头破血流得来的经验来充实自己、米老师的话要听、师哥的话也要听啊.....
MDI窗体 的再度思考的更多相关文章
- MDI窗体容器--2016年12月15日
MDI窗体容器 多文档界面(Multiple-Document Interface)简称MDI窗体.MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中.MDI窗体中通常有包含子菜单的窗口菜单, ...
- Winform MDI窗体容器、权限、简单通讯
MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体 ...
- 小菜学习Winform(四)MDI窗体(附示例)
前言 在做winfrom项目的时候我们可能会用到嵌套窗体,就是说一个容器中有多个窗体,可以分别管理和应用这些窗体,.net中提供了一种机制就是MDI,可能大家都会用,这边就简单的介绍下. 简单应用 w ...
- Winform MDI窗体容器,权限以及简单通讯
MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体 ...
- Winform MDI窗体容器 权限 简单通讯
MDI窗体容器 权限 using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...
- MDI窗体容器、权限设置
一.MDI窗体容器: 1.功能: 它可以让其它窗体在它的内部打开,无法超出它的范围 将某个窗体的属性:IsMdiContainer设置为true - 窗口样式 2.问题: (1)如何将其它窗体在它的内 ...
- C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下 ...
- MDI窗体容器 权限设置
MDI窗体容器:它可以让其它窗体在它的内部打开,无法超出它的范围将某个窗体的属性:IsMdiContainer设置为true - 窗口样式如何将其它窗体在它的内部打开?窗体对象名.MdiParent ...
- MDI窗体
1.设置父窗体 使用MDI窗体,需要先将父窗体的IsMdiContainer属性设置为True 2.生成用于MDI子窗体的窗体 1 frmTemp f1 = new frmTemp(); f1.Tex ...
随机推荐
- Handler 取不到session 解决办法
Handler需要继承 Handler : IHttpHandler, IReadOnlySessionState, IRequiresSessionState
- SVN创建资源与分支详解
创建分支的意义: 简单说,分支就是用于区分开发版本与当前发布版本的. 1. 主干负责新功能的开发 2..分支负责修正当前发布版本的bug(对于可以放入下个发布版本的改进性bug可以直接在主干上开发) ...
- 十一、Struts2封装请求参数的方式
十一.Struts2封装请求参数的方式 方式一.Action 本身作为model对象,通过成员setter封装(一个名字为params的拦截器干的) 注意:表单中的名称要和动作类中的名称一致(这是必须 ...
- javaSE第十三天
第十三天 76 1. StringBuffer(掌握) 76 (1)说明: 77 (2)StringBuffer的构造方法 77 (3)StringBuffer的常见功能 ...
- 创建parameter id
Custom Parameter-id Creation By Abhijit Daptary, Capgemini India Step1: Creation of parameter ID. P ...
- Android开发中Ant命令编译和APK签名的一些心得
本文章麦子学院跟小伙伴们详细的分享一下关于Android Ant命令行编译和APK签名详解一些实现方法,这是一个朋友在自己做安卓开发时写的,希望对大家会有所帮助呀. 最近在做Android开发时,需要 ...
- js设计模式(11)---命令模式
0.前言 早上好,早晨的时光总是美好的,坐在空调屋里,看着外边的蓝天白云,不停地敲击着键盘,多么美好地享受,也许屌丝就是如此容易满足. 1.什么是命令模式? 用于将一个请求封装为一个对象,从而可用不同 ...
- ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)
解决Can't connect to MySQL server on 'localhost' tomcat连接mysql,大概是c3p0配置和mysql配置都有问题,导致了内存溢出,几天后,mysq ...
- Android照相机应用
前言 Android在设计架构的时候,采用了mashup(混搭)的设计理念,也就是说一切都是组建,自己写的是组件,别人提供的也是组件,使用的时候只要符合相关协议就可以把他们当作自己的组件.比如系统提供 ...
- php 安装redis扩展
大家可以去http://code.google.com/p/redis/downloads/list这个地址找最近的下载wget http://redis.googlecode.com/files/r ...