c# KeyValue与KeyData与KeyCode区别(转)

转载 2015年07月07日 09:13:43


KeyPress事件
KeyPressEventArgs参数

Handled /是否处理过KeyPress事件
KeyChar //按下的键对应的字符

如果I,则keychar为i,如果shift+i,则keychar为I。
如果是Ctrl+I,或ALt+I,根本不会得到一个keypress事件,因为他们是特殊的键序列,并非通过KeyPress发送。
需要KeyDown

KeyDown
KeyEventArgs参数
   Alt 获取一个值,该值指示是否曾按下 Alt 键。
   Control 获取一个值,该值指示是否曾按下 Ctrl 键。
   Handled 获取或设置一个值,该值指示是否处理过此事件。
   KeyCode 获取 KeyDown 或 KeyUp 事件的键盘代码。
   KeyData 获取 KeyDown 或 KeyUp 事件的键数据。
   KeyValue 获取 KeyDown 或 KeyUp 事件的键盘值。
   Modifiers 获取 KeyDown 或 KeyUp 事件的修饰符标志。这些标志指示按下的 Ctrl、Shift 和 Alt 键的组合。
   Shift 获取一个值,该值指示是否曾按下 Shift 键。
SuppressKeyPress 获取或设置一个值,该值指示键事件是否应传递到基础控件。


如果同时按下了Ctrl+Shift+I
KeyData   Keys.Ctrl+Keys。Shift+Keys。I
KeyCode Keys。I
Modifiers Keys。Ctrl+Keys。Shift
Alt false
Ctrl true
Shift true
KeyValue 73
KeyChar 不可用

尽管我们处理了KeyDown来获得特殊的字符,但是有些特殊字符(比如箭头键)在默认的情况下并不传送给控件。为了启用他们,自定义控件可以重写来自基类的IsInputKey方法


如果想在键盘事件之外获悉修饰键的状态,可以通过Control类的静态属性ModifierKeys来访问这类信息。

void MyCon-Click(object sender,EventArgs e)
{
if(Control.ModifierKeys==Keys.Control)
{
}
}
检查在鼠标点击事件中,Ctrl键是否是唯一被按下的修饰键。

C# 中KeyData、KeyCode、KeyValue和KeyChar的区别

KeyCode最为常见,记录了键盘上按了哪个键,当使用组合键时如ctrl+a,其值是“A”。 KeyData可以记录组合键,当使用组合键时如ctrl+a时,其值为“A,Ctrl”; KeyValu...
  • chenlaoyang
  • chenlaoyang
  • 2012年12月07日 10:48
  • 858

KeyEventArgs中的KeyCode,KeyValue,KeyData的区别

KeyCode: 获取 KeyDown 或 KeyUp 时按下键盘的 Keys 的枚举。KeyValue: 实际上等于 KeyCode, KeyCode是枚举,KeyValue是枚举对应的Intege...
  • fangxinggood
  • fangxinggood
  • 2007年11月26日 10:58
  • 4718

C#中KeyData、KeyCode、KeyValue和…

KeyCode最为常用,记录了键盘上按了哪个键,当使用组合键时如ctrl+a,其值是"A"; KeyData可以记录组合键,当使用组合键时如ctrl+a时,其值为"A,ctrl"; KeyValue则...
  • feixiang_01171
  • feixiang_01171
  • 2013年10月12日 16:06
  • 319

C# 键盘KeyCode与keyValue

在C#中,经常用到键盘事件,用到键盘事件时,就需要知道键的KeyCode(键),或者是keyValue(键值)。 如:Enter的键盘事件,KeyCode = Enter,keyValue = 13 ...
  • smooth_tailor
  • smooth_tailor
  • 2016年08月26日 14:20
  • 3212

KeyEventArgs中的KeyCode,KeyValue,KeyData的区别

KeyCode: 获取 KeyDown 或 KeyUp 时按下键盘的 Keys 的枚举。KeyValue: 实际上等于 KeyCode, KeyCode是枚举,KeyValue是枚举对应的Intege...
  • go2newlife
  • go2newlife
  • 2007年12月06日 14:53
  • 510

event.keyCode与event.which的区别

IE用event.keCode方法获取当前被按下的键盘按键值 而NetScape/FireFox/Opera用的则是event.which...
  • CathyLou
  • CathyLou
  • 2016年08月31日 11:35
  • 2278

C# Keycode对照表

字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 ...
  • cuoban
  • cuoban
  • 2017年04月24日 14:24
  • 312

ascii码与键盘代码的区别

ascii码与键盘代码是不一样的。文章链接 onkeypress与onkeyup/onkeydown的不同就是 onkeypress情况下,event.keyCode返回的是按键的ascii码值;...
  • kbx8916
  • kbx8916
  • 2016年11月12日 09:50
  • 141

关于JS AJAX的POST和GET区别

1.如果选择get方式访问后台,必须把cache设置为false,这个第二次请求的时候才会去访问后台 2.选择post方式就不需要加cache设置为false 以下是来自W3C解释: j...
  • csdn_cSharp
  • csdn_cSharp
  • 2017年08月02日 11:30
  • 383

C# 中键盘按键对应的keycode

key keycode key keycode key keycode key keycode A 65 J 74 S 83 1 49 B 6...
  • The_kingdom_of_God
  • The_kingdom_of_God
  • 2017年02月14日 10:37
  • 904
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# KeyValue与KeyData与KeyCode区别(转)
举报原因:
原因补充:

(最多只允许输入30个字)