第一范文网 - 专业文章范例文档资料分享平台

Csharp控件详解

来源:用户分享 时间:2025/5/30 12:46:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1.MDI应用程序的概念

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

持一次打开一个窗口或文档。如果需要编辑多个文档,必须创建SDI应用程序的多个实例。而使用多文档

界面(MDI)程序(如Word和AdobePhotoshop)时,用户可以同时编辑多个文档。MDI程序中的应用程

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

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、键盘事件处理

键盘事件在用户按下键盘上的键时发生,可分为两类。第一类是KeyPress事件,当按下的键表示的是一个 ASCII

字符时就会触发这类事件,可通过它的 KeyPressEventArgs 类型参数的属性 KeyChar 来确定按下键

的 ASCII 码。使用

KeyPress 事件无法判断是否按下了修改键(例如 Shift,Alt 和 Ctrl 键),为了判断这些 动作, 就要处理KeyUp

或KeyDown事件, 这些事件组成了第二类键盘事件。 该类事件有一个KeyEventArgs

类型的参数,通过该参数可以测试是否按下了一些修改键、功能键等特殊按键信息。

1.KeyPressEventArgs类的主要属性(KeyPress事件的一个参数类型)

(1)Handled属性:用来获取或设置一个值,该值指示是否处理过KeyPress事件。

(2)KeyChar属性:用来获取按下的键对应的字符,通常是该键的ASCII码。 2.KeyEventArgs类的主要属性(KeyUp和 KeyDown事件的一个参数)

(1)Alt属性:用来获取一个值,该值指示是否曾按下Alt键。

(2)Control属性:用来获取一个值,该值指示是否曾按下Ctrl键。 (3)Shift属性:用来获取一个值,该值指示是否曾按下Shift键。

(4)Handled属性:用来获取或设置一个值,该值指示是否处理过此事件。 (5)KeyCode属性:以

Keys枚举型值返回键盘键的键码,该属性不包含修改键(Alt、Control和 Shift键) 信息,用于测试指定的键盘键。 (6)KeyData

属性:以 Keys 枚举类型值返回键盘键的键码,并包含修改键信息,用于判断关于按下键盘 键的所有信息。

(7)KeyValue属性:以整数形式返回键码,而不是Keys枚举类型值。用于获得所按下键盘键的数字表示。

(8)Modifiers 属性:以

Keys 枚举类型值返回所有按下的修改键(Alt、Control 和 Shift 键),仅用于判断 修改键信息。 27、鼠标事件处理

对鼠标操作的处理是应用程序的重要功能之一,在VisualC#中有一些与鼠标操作相关的事件,利用它们可

以方便地进行与鼠标有关的编程。

(1)MouseEnter事件:在鼠标指针进入控件时发生。

(2)MouseMove事件:在鼠标指针移到控件上时发生。事件处理程序接收一个MouseEventArgs类型的参

数,该参数包含与此事件相关的数据。该参数的主要属性及其含义如下。

Button属性:用来获取曾按下的是哪个鼠标按钮。该属性是MouseButtons枚举型的值,

取值及含义如下:Left(按下鼠标左按钮)、Middle(按下鼠标中按钮)、Right(鼠标右按钮)、None(没

有按下鼠标按钮)、

XButton1 (按下了第一个XButton按钮, 仅用于Microsoft智能鼠标浏览器)

和XButton2

(按下了第二个XButton按钮,仅用于 Microsoft智能鼠标浏览器)

Clicks属性:用来获取按下并释放鼠标按钮的次数。 Delta属性:用来获取鼠标轮已转动的制动器数的有符号计数。制动器是鼠标轮的一个凹口。

X 属性:用来获取鼠标所在位置的x坐标。 Y 属性:用来获取鼠标所在位置的y坐标。

(3)MouseHover事件:当鼠标指针悬停在控件上时将发生该事件。

(4)MouseDown事件:当鼠标指针位于控件上并按下鼠标键时将发生该事件。事件处理程序也接收一个

MouseEventArgs类型的参数。

(5)MouseWheel事件:在移动鼠标轮并且控件有焦点时将发生该事件。该事件的事件处理程序接收一个

MouseEventArgs类型的参数

(6)MouseUp 事件:当鼠标指针在控件上并释放鼠标键时将发生该事件。事件处理程序也接收一个

MouseEventArgs类型的参数。

(7)MouseLeave事件:在鼠标指针离开控件时将发生该事件。 资料收集于网络,出处不详。

搜索更多关于: Csharp控件详解 的文档
Csharp控件详解.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c67g7g6gznk8az813iuwf_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top