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类型的参数。
键盘事件在用户按下键盘上的键时发生,可分为两类。第一类是 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事件:在鼠标指针离开控件时将发生该事件。
本文转自 吴雨声 51CTO博客,原文链接:http://blog.51cto.com/liangxiao/719404,如需转载请自行联系原作者