在键盘按下键然后释放的过程中有个事件发生分别为KeyDown事件KeyPress事件和KeyUp事件 KeyDown和KeyUp事件让应用程序捕捉用户在键盘上按下的特殊键或某些特定键甚至组合键只有在想要取得按下键或特殊键的相关信息时才用到KeyDown和KeyUp事件下面对KeyDown和KeyUp事件分别进行介绍
.KeyDown事件
KeyDown事件在首次按下某个键时发生
示例 KeyDown事件的使用
本示例中判断用户是否按下特殊键如果是则显示在窗体的标题栏上
程序主要代码如下
private void textBox_KeyDown(object sender KeyEventArgs e)
{
string G_str_Mode = ;
string G_str_text = eKeyCode + : + eModifiers + : + eKeyData + : + ( + eKeyValue + );
if (eShift == true)
G_str_Mode = Shift 键被按下;
if (eControl == true)
G_str_Mode = Ctrl 键被按下;
if (eAlt == true)
G_str_Mode = Alt 键被按下;
thisText = G_str_text + G_str_Mode;
}
注意上面的代码中KeyDown事件取得了一个KeyEventArgs对象e并返回相关的按键信息KeyEventArgs参数提供数个属性值这些属性根据键盘上被按下的按键返回对应值KeyEventArgs参数的属性值如表所示
表 KeyEventArgs属性值
属性值 说明
Control 获取一个值该值指示是否曾按下Ctrl键
KeyCode 获取KeyDown或KeyUp事件的键盘代码
KeyData 获取KeyDown或KeyUp事件的键数据
KeyData 获取KeyDown或KeyUp事件的键数据
KeyValue 获取KeyDown或KeyUp事件的键盘值
Modifiers 获取KeyDown或KeyUp事件的修饰符标志这些标志指示按下的CtrlShift和Alt键的组合
Shift 获取一个值该值指示是否曾按下Shift键
.Keyup事件
Keyup事件在释放键时发生
示例Keyup事件的使用
本示例实现的是当程序运行的时候按完键盘后自动设置窗体的大小
程序主要代码如下
private void frmKeyDownUP_KeyUp(object sender KeyEventArgs e)
{
thisClientSize = new SystemDrawingSize();
}