创建系统的mdi主窗体

上传人:san****019 文档编号:70356811 上传时间:2019-01-16 格式:PPT 页数:26 大小:1,009.01KB
返回 下载 相关 举报
创建系统的mdi主窗体_第1页
第1页 / 共26页
创建系统的mdi主窗体_第2页
第2页 / 共26页
创建系统的mdi主窗体_第3页
第3页 / 共26页
创建系统的mdi主窗体_第4页
第4页 / 共26页
创建系统的mdi主窗体_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《创建系统的mdi主窗体》由会员分享,可在线阅读,更多相关《创建系统的mdi主窗体(26页珍藏版)》请在金锄头文库上搜索。

1、第五章 创建系统的MDI主窗体,章节任务,任务:创建系统的主界面,章节目标,掌握控件ToolStrip、MenuStrip和StatusStrip的使用,5.1 MDI 概述,在水电收费系统的主界面中,有菜单栏、快捷菜单栏、工具栏及状态栏,还有子窗口。本章主要学习这样的界面怎么做,主窗口和子窗口的关系,以及如何通过菜单栏和工具栏调用系统的各个窗口及功能。,MDI 概述-MDI是什么,从字面上讲,MDI(Multiple Document Interface)是多文档界面的意思。从使用上感觉,大家可以打开Microsoft的Excel软件,不管打开或新建几个Excel文档,每个文档窗口都在主窗口

2、里,应用程序可以同时处理多个文档;将每一个文档最小化后,剩下的那个最外层的窗口就叫MDI窗口,也可以说这个MDI窗口是一个容器,在里面可以添加其他子窗口,各子窗口可以进行层叠、平铺等各种操作; 子窗口可以在MDI 主窗口区域内定位、改变大小、最大化和最小化,当最大化子窗口时,它将占满MDI 主窗口的全部客户区;当MDI窗口最小化的时候所有子窗口随之最小化。 记事本就不是MDI窗口,称之为SDI(Single Document Interface),一个记事本主窗口只能打开一个记事本文档。,MDI 概述-为什么要用MDI,首先,将相同的工作内容显示在同一个窗口中,桌面看上去简洁有序。 其次,公用

3、的界面元素节省了桌面空间。比如一个程序界面有很多菜单、工具栏、状态栏,在MDI下各个文档的这些公共元素是共用的,而SDI风格下每个文档都要重复显示这些元素,明显浪费了桌面空间。 再次,像EXCEL一样,在不同文档间复制内容只要切换窗体就可以,并且只要缩小整个EXCEL窗体,就可以同时缩小所有窗体,这给工作带来便利。 最后,是资源占用问题。除非设计很好的SDI软件,否则多窗口SDI会更多地占用内存、堆栈等系统资源。,MDI 概述-创建一个简单的MDI应用程序,MDI多窗体程序由MDI主窗体与MDI子窗体组成。通常在主窗体内设计下拉式菜单或工具栏,执行菜单项命令或者工具栏中按钮命令时调用子窗体程序

4、,被打开的子窗体界面将被限制在主窗体的用户工作区内。 演示 【例5-1】创建一个简单的MDI程序。,5.2 菜单与工具栏,菜单与工具栏控件可以为较为复杂的Windows应用程序提供更加丰富的功能和更加简洁的用户界面。本节主要介绍Windows应用程序的主菜单、快捷菜单和工具栏的设计方法。,MenuStrip控件 MenuStrip控件是应用程序菜单结构的容器,主要用于生成所在窗体的主菜单。把一个MenuStrip控件拖放到设计器的一个窗体中,MenuStrip就允许直接在菜单项上输入菜单文本,直接编辑各主菜单项及对应的子菜单项; 也可用快捷方式为MenuStrip控件添加菜单项:单击属性窗口的

5、Items属性后的“”按钮,可以调出“项集合编辑器”编辑主菜单; 也可通过单击menuStrip控件的右键菜单项“插入标准项”,快速地在MenuStrip控件上添加Windows标准菜单; 也可通过鼠标右键单击对应的菜单项修改项的类型;当菜单的结构建立起后,再为每个菜单项编写事件代码,即可完成窗体的菜单设计。,1. MenuStrip菜单栏的基本属性 AllowItemReorder:当程序运行时,按下Alt键是否允许改变各菜单项的左右排列顺序。默认值为false,当更改该属性值为true时,按下Alt键的同时可以用鼠标拖动各菜单项以调整其在菜单栏上的左右位置 Dock:指示菜单栏在窗体中出现

6、的位置,默认值为Top GripStyle:是否显示菜单栏的指示符,即纵向排列的多个凹点,默认值为Hidden。当更改该属性值为Visible时,显示位置由GripMargin属性指定 Items:用于编辑菜单栏上显示的各菜单项。单击Items属性后的 “”按钮,弹出“项集合编辑器”,单击“添加”按钮,可将菜单项添加到下方的“成员”框中,当选中“成员”框中的某一项时,“项集合编辑器”右部的属性列表中对应显示该菜单项的所有属性,可直接设置各属性值。,2. MenuItem菜单项的基本属性 Checked:指示菜单项是否被选中。默认值为false CheckOnClick:这个属性是true时,如

7、果菜单项左边的复选框没有打上标记,就打上标记,如果该复选框已打上了标记,就去除该标记,否则,该标记就被一个图像替代,使用Checked属性确定菜单项的状态 CheckState:指示菜单项的状态。与复选框CheckBox控件的ThreeState属性相同,共有3个属性值:Checked、Unchecked、Indeterminate,分别表示选中、未选中、不确定三种状态 Enabled:把Enabled设置为false ,菜单项就会灰显,不能被选中 DisplayStyle:指示菜单项上的显示内容。共有4个属性值:None、Text、Image、ImageAndText,分别表示不显示任何内容

8、、仅显示文本、仅显示图标、同时显示文本和图标。,DropDownItems 该属性返回一个项集合,用作与菜单项相关的下拉菜单,单击该属性后的“”按钮,调出“项集合编辑器”,以此编辑该菜单项对应的子菜单中的各菜单项 Image:指定在该菜单项上显示的图标 ImageScaling 指定是否调整图标大小。默认属性值为SizeToFit,即调整图标大小以适应菜单项。该属性的另一个属性值为None,即不调整图标大小 ShortcutKeys 为菜单项指定的快捷键。 ShowShortCutKeys 指示是否在菜单项上显示快捷键。默认值为true,即在菜单项上按照ShortCutKeys属性的设置显示快

9、捷键,3. MenuStrip菜单栏的常用事件 ItemClicked 当单击菜单栏上各主菜单项时触发的 LayoutCompleted 当菜单栏上各主菜单项的排列顺序发生变化之后触发的操作。使用该事件时,AllowItemReorder属性必须设为true,即当程序运行时,按下Alt键重新排列菜单栏上各主菜单项的顺序之后触发该事件,4 MenuItem 的常用事件 Click 用户单击菜单项时引发该事件,大多数情况下这就是要响应的事件 CheckedChanged 当单击带CheckOnClick属性的菜单项时,引发这个事件 DropDownClosed 关闭菜单项的子菜单时触发的操作 Dr

10、opDownItemClicked 单击菜单项的子菜单中任何一项时触发的操作 DropDownOpened:菜单项的子菜单打开之后触发的操作 DropDownOpening:打开菜单项的子菜单时触发的操作,ContextMenuStrip控件 ContextMenuStrip控件的功能是制作右键快捷菜单。要注意的是,该控件是用于为其他控件服务的,不能单独使用。 编辑完成的ContextMenuStrip控件需要在窗体或相关控件的ContextMenuStrip属性中与其建立关联,才可以在程序运行时用鼠标右键单击对应控件,弹出该快捷菜单。 ContextMenu的创建与MenuStrip相同,也

11、是添加ToolStripMenuItems,定义每一项的Click事件,执行某个任务。,1. ContextMenuStrip控件常用的基本属性 Items 用于编辑快捷菜单上的各菜单项。其编辑方式与MenuStrip控件的菜单项编辑相似,都是调用【项集合编辑器】来生成菜单项的。当然在ContextMenuStrip控件的【属性】窗口中也有【编辑项】的快捷方式,可以直接调出【项集合编辑器】 Opacity 设置快捷菜单的透明度。取值在0%100%之间,默认值为100%,即不透明。注意,该属性只能在代码中才能看到,2. ContextMenuStrip控件常用的基本事件 ItemClicked

12、快捷菜单中的任何一个菜单项被单击时触发的操作 Opening 快捷菜单打开时触发的操作,ToolStrip控件 ToolStrip控件的作用是为Windows应用程序添加工具栏。工具栏一般是由多个按钮、标签等排列组成,通过这些项可以快速地执行程序提供的一些常用命令,比使用菜单选择更加方便快捷。 工具栏上的按钮通常包含图片,不包含文本,但它可以既包含图片又包含文本。 ToolStrip控件的常用属性和事件与MenuStrip控件基本相同,工具栏上各项的属性和事件与MenuStrip控件中菜单项也基本相同。,1. ToolStrip控件的属性 ToolStrip控件的属性管理着控件的显示位置和显示

13、方式,和MenuStrip控件具有许多相同的属性,如下所示。 GripStyle 这个属性控制着4个垂直排列的点是否显示在工具栏的最左边。隐藏栅格后,用户就不能移动工具栏了 LayoutStyle 设置这个属性,就可以控制工具栏上的项如何显示,默认为水平显示 Items:这个属性包含工具栏中所有项的集合 ShowItemToolTip:确定是否显示工具栏上某项的工具提示 Stretch 默认情况下,工具栏比包含在其中的项略宽或略高。如果把Stretch属性设置为true,工具栏就会占据其容器的总长,2. ToolStrip控件中的项 在ToolStrip中可以使用许多控件。前面提到,工具栏应能

14、包含按钮、组合框和文本框。除了这些之外,工具栏还可以包含其他控件,如下所示 ToolStripButton 此控件表示一个按钮。用于带文本和不带文本的按钮 ToolStripLabel 此控件表示一个标签。在ToolStrip上显示不能选择的文表本或图像,放在不显示其本身信息的另一个控件上面,例如文本框或组合框。ToolStripLabel还可以显示一个或多个超链接 ToolStripSplitButton 这个控件显示一个右端带有下拉按钮的按钮,单击该下拉按钮,就会在它的下面显示一个菜单。如果单击控件的按钮部分,该菜单不会打开,ToolStripDropDownButton 这个控件非常类似

15、于ToolStripSplitButton,惟一的区别是去除了下拉按钮,代之以下拉数组图像。单击控件的任一部分,都会打开其菜单部分 ToolStripSeparator 这个控件为各个项创建水平或垂直分隔符 ToolStripComboBox 这个控件显示一个组合框 ToolStripTextBox 这个控件显示一个文本框 ToolStripProgressBar 这个项可以在工具栏上嵌入一个进度条,5.3 StatusStrip控件,StatusStrip控件在许多应用程序中表示为对话框底部的一栏,它通常用于显示应用程序当前状态的简短信息。 在StatusStrip中可以使用的控件是:Too

16、lStripDropDownButton、 ToolStripProgressBar、ToolStripSplitButton和StatusStripStatusLabel。其中控件StatusStripStatusLabel是StatusStrip专用的,它也是一个默认的项。,StatusStripStatusLabel的属性 StatusStripStatusLabel使用文本和图像向用户显示应用程序当前状态的信息,它是一个非常简单的控件,没有太多属性,下面介绍两个有用的属性。 AutoSize AutoSize在默认状态下是打开的,这不是非常直观,因为在改变状态栏上标签的文本时,不希望该标签来回移动,除非标签上的信息是静态的,否则总是应把这个属性改为false DoubleClickEnable 在这个属性中,可以指定是否引发DoubleClick事件。也就是说,用户可以在应用程序的另一个地方修改信息。例如,让用户双击包含“黑体”的面板,在文本中启用或禁用黑体格式。,5.4 窗口列表及排列,MDI应用程序的一个问题是,在任意时刻可以打开

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号