richtextbox 背景_richtextbox添加文本_richtextbox自动滚动(16)

电脑杂谈  发布时间:2017-03-08 18:11:24  来源:网络整理

(2) 在该对话框的【模板】下面的列表框中选中【Windows 窗体】图标,在【名称】文本框中输

入窗体名,然后单击【打开】按钮,即为应用程序添加了一个窗体。

25、MDI 应用程序设计

1.MDI应用程序的概念

在前面的章节中,所创建的都是单文档界面(SDI)应用程序。这样的程序(如记事本和画图程序)仅支

序窗口称为父窗口,应用程序内部的窗口称为子窗口。虽

然 MDI应用程序可以具有多个子窗口, 但是每个子窗口却

只能有一个父窗口。此外,处于活动状态的子窗口最大数

目是 1。子窗口本身不能再成为父窗口,而且不能移动到

它们的父窗口区域之外。除此以外,子窗口的行为与任何

其他窗口一样(如可以关闭、最小化和调整大小等)。一个

子窗口在功能上可能与父窗口的其他子窗口不同,例如,

辑文本,第 3 个子窗口可以使用图形来显示数据,但是所

有的窗口都属于相同的MDI父窗口。图 10-19 是一个典型

的 MDI应用程序。外面的窗口是应用程序窗口,里面的两

个小窗口是 MDI子窗口。

2.与 MDI应用程序设计有关的属性、方法和事件

常用的MDI父窗体属性如下。

(1)ActiveMdiChild属性:该属性用来表示当前活动的MDI子窗口,如果当前没有子窗口,则返回null。

(2)IsMdiContainer属性:该属性用来获取或设置一个值,该值指示窗体是否为多文档界面(MDI)子窗

体的容器,即MDI父窗体。值为true时,表示是父窗体,值为false时,表示不是父窗体。

(3)MdiChildren属性:该属性以窗体数组形式返回MDI子窗体,每个数组元素对应一个 MDI子窗体。

常用的MDI子窗体的属性有:

(1)IsMdiChild属性:该属性用来获取一个值,该值指示该窗体是否为多文档界面(MDI)的子窗体。值

为 true时,表示是子窗体,值为false时,表示不是子窗体。

(2)MdiParent属性:该属性用来指定该子窗体的MDI父窗体。与MDI应用程序设计有关的方法中,一

般只使用父窗体的LayoutMdi方法,该方法的调用格式如下:

MDI父窗体名.LayoutMdi(Value);

该方法用来在MDI父窗体中排列MDI子窗体,以便导航和操作MDI子窗体。参数Value决定排列方式,

取值有:MdiLayout.ArrangeIcons(所有 MDI 子窗体以图标的形式排列在 MDI 父窗体的工作区内)、

MdiLayout.TileHorizontal (所有MDI子窗口均水平平铺在MDI父窗体的工作区内)、 MdiLayout.TileVertical

(所有 MDI 子窗口均垂直平铺在 MDI 父窗体的工作区内)和 MdiLayout.Cascade(所有 MDI 子窗口均层

叠在 MDI 父窗体的工作区内)。常用的 MDI 父窗体的事件是 MdiChildActivate,当激活或关闭一个 MDI

子窗体时将发生该事件。

3.菜单合并

父窗体和子窗体可以使用不同的菜单,这些菜单会在选择子窗体的时候合并。如果需要指定菜单的合并方

式,程序员可以设置每个菜单项的MergeOrder属性和MergeType属性。

(1)MergeOrder属性:用来确定当两个菜单合并时菜单项出现的顺序,具有较低

MergeOrder的菜单项会首先出现。

(2)MergeType属性:当合并的两个菜单的某些菜单项的MergeOrder属性值相等时,

使用该属性可以控制这些菜单项的显示方式。其取值及含义如表10-4所示。

26、键盘事件处理


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-36493-16.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...