第05章Windows应用.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4.2 单文档界面 单文档(SDI)应用程序是目前最为流行的应用程序开发模式。单文档窗体指的是在某一时刻,程序只能激活一个窗体。如图5.27所示,当单击“窗体一”上的“显示窗体二”按钮后,弹出“窗体二”窗体,此时窗体一变灰,处于非激活状态,窗体二处于激活状态。 处于激活状态 图5.27 SDI窗体 5.4.3 多文档界面 1.创建MDI父窗体 在多文档界面(MDI)应用程序中,MDI父窗体是包含MDI子窗口的窗体,在“Windows 窗体设计器”中创建 MDI 父窗体很容易。首先创建Windows 应用程序,在属性窗口中,将IsMDIContainer属性设置为true,将该窗体指定为子窗口的MDI容器。 将MenuStrip 组件从“工具箱”拖到窗体上,创建一个 Text 属性为“文件(F)”的顶级菜单项,且它带有“新建(N)”和“关闭(C)”子菜单项。再创建一个名为“窗口(W)”的顶级菜单项。第1个菜单将在运行时创建并隐藏菜单项,而第2个菜单将跟踪打开MDI 子窗口。此时,已创建了一个 MDI 父窗口。 5.4.3 多文档界面 2.创建MDI子窗体 多文档界面(MDI)应用程序的基础是MDI子窗体,因为它们是用户交互的中心。在创建了MDI父窗体的基础上,下面介绍如何创建并打开MDI子窗体。 (1)按照如图5.28所示创建一个MDI子窗体,注意将textBox控件从“工具箱”拖到窗体上。在属性窗口中,将Anchor属性设置为“Top,Left”,并将Dock属性设置为“Fill”,这样,即使调整MDI子窗体的大小,textBox 控件也会完全填充该窗体的区域。 (2)为“新建”菜单项创建 Click 事件处理程序,单击“新建”菜单项,创建新的 MDI子窗体。由事件处理程序处理 NewMenuItem 的 Click 事件。 ? private void NewMenuItem_Click(object sender, EventArgs e) { childForm MDIChild = new childForm(); MDIChild.MdiParent = this; //设置子窗体的父窗体 MDIChild.Show(); //显示一个新窗体 } 5.4.3 多文档界面 程序运行结果如图5.29所示。 图5.28 MDI子窗体 图5.29 MDI程序运行结果 5.4.3 多文档界面 3.确定活动的MDI子窗体 一个MDI应用程序可以有同一个子窗体的多个实例,通过ActiveMDIChild属性,可以得到当前具有焦点的子窗体或返回最近活动的子窗体。当窗体上有多个控件时,通过ActiveMDIChild属性,可以得到当前活动子窗体上有焦点的控件。例如,确定活动的子窗体: ? childForm activeChild = this.ActiveMDIChild; ? 4.排列子窗体 应用程序通常包含对打开的 MDI 子窗体进行操作的菜单命令,如“平铺”、“层叠”和“排列”。可以使用LayoutMdi方法和MdiLayout枚举来重新排列 MDI 父窗体中的子窗体。 LayoutMdi()方法可使用4个不同MdiLayout枚举值中的一个,这些枚举值将子窗体显示为层叠、水平平铺或垂直平铺,或者在MDI窗体下部显示排列的子窗体图标。这些方法常用于菜单项的Click 事件处理程序。这样,选择菜单项可在MDI子窗口上产生所需的效果。 5.4.3 多文档界面 为了排列子窗体,用 LayoutMdi()方法为 MDI 父窗体设置 MdiLayout 枚举。其枚举值如表5.18所示。 成 员 名 称 说 明 ArrangeIcons 所有 MDI 子图标均排列在 MDI 父窗体的工作区内 Cascade 所有 MDI 子窗口均层叠在 MDI 父窗体的工作区内 TileHorizontal 所有 MDI 子窗口均水平平铺在 MDI 父窗体的工作区内 TileVertical 所有 MDI 子窗口均垂直平铺在 MDI 父窗体的工作区内 表5.18 MdiLayout枚举值 例如,对MDI父窗体(myForm1)的子窗体使用MdiLayout枚举的“层叠”设置: ? myForm1.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade); 5.4.4 综合应用 【例EX5_8】将【例EX5_7】记事本改写为MDI应用程序。 设计步骤如下: (1)新建WinForm项目并添加控件 新建WinForm项目并命名为“EX5_8”,从工具箱中拖曳1个“MenuStrip”到窗体上。 (2)设置

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档