键盘事件和鼠标事件

键盘事件处理

键盘事件在用户按下键盘上的键时发生,可分为两类。

第一类是KeyPress事件,当按下的键表示的是一个ASCII 字符时就会触发这类事件,可通过它的 KeyPressEventArgs 类型参数的属性 KeyChar 来确定按下键的 ASCII 码。

使用 KeyPress 事件无法判断是否按下了修改键(例如 Shift,Alt 和 Ctrl 键),为了判断这些动作, 就要处理KeyUp 或KeyDown事件, 这些事件组成了第二类键盘事件。 该类事件有一个KeyEventArgs类型的参数,通过该参数可以测试是否按下了一些修改键、功能键等特殊按键信息。

  1. KeyPressEventArgs类的主要属性(KeyPress事件的一个参数类型):
    • Handled属性:用来获取或设置一个值,该值指示是否处理过KeyPress事件;
    • KeyChar属性:用来获取按下的键对应的字符,通常是该键的ASCII码;
  2. KeyEventArgs类的主要属性(KeyUp和 KeyDown事件的一个参数):
    • Alt属性:用来获取一个值,该值指示是否曾按下Alt键;
    • Control属性:用来获取一个值,该值指示是否曾按下Ctrl键;
    • Shift属性:用来获取一个值,该值指示是否曾按下Shift键;
    • Handled属性:用来获取或设置一个值,该值指示是否处理过此事件;
    • KeyCode属性:以 Keys枚举型值返回键盘键的键码,该属性不包含修改键(Alt、Control和 Shift键)信息,用于测试指定的键盘键;
    • KeyData 属性:以 Keys 枚举类型值返回键盘键的键码,并包含修改键信息,用于判断关于按下键盘键的所有信息;
    • KeyValue属性:以整数形式返回键码,而不是Keys枚举类型值。用于获得所按下键盘键的数字表示;
    • Modifiers 属性:以 Keys 枚举类型值返回所有按下的修改键(Alt、Control 和 Shift 键),仅用于判断修改键信息。

鼠标事件处理

对鼠标操作的处理是应用程序的重要功能之一,在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. MouseUp 事件:当鼠标指针在控件上并释放鼠标键时将发生该事件。事件处理程序也接收一个MouseEventArgs类型的参数;
  6. MouseWheel事件:在移动鼠标轮并且控件有焦点时将发生该事件。该事件的事件处理程序接收一个MouseEventArgs类型的参数;
  7. MouseLeave事件:在鼠标指针离开控件时将发生该事件。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值