1、目录n键盘事件 KeyPress事件 KeyDown事件 KeyUp事件n鼠标事件 MouseMove事件。 MouseHover/MouseDown/MouseWheel事件 MouseUp事件 MouseLeave事件C#主要为用户提供了三种键盘事件:按下某 ASCII字符键时发生 KeyPress事件按下任意键时发生 KeyDown事件释放键盘上任意键时发生 KeyUp事件。10.1.1 KeyPress事件当用户按下又放开某个 ASCII字符键时,会引发当前拥有焦点对象的 KeyPress事件。10.1 键盘事件1. 判断、处理用户按键通过 KeyEventArgs类的返回参数可以判断
2、用户按下的是哪个键。例如在窗体、文本框等控件的KeyPress事件过程中书写类似如下代码,可实现用户按键的判断。 private void Form1_KeyPress(object sender,KeyPressEventArgs e)if (e.KeyChar = ( Char) Keys.Enter)label1.Text = “你按下了 Enter 键“;2. KeyPress事件应用实例【 例 10-1】 设计一个 ASCII码查询程序。用户按下某一键后屏幕显示该键名及对应的 ASCII码。窗体 Form1的 KeyPress事件时代码为:private void Form1_Key
3、Press(object sender, KeyPressEventArgs e)/ e.KeyChar返回用户在键盘上按下的字符switch (e.KeyChar)case (char)Keys.Back:label1.Text = “退格键: “ + (int)Keys.Back + “n“ + label1.Text; break;case (char)Keys.Tab:label1.Text = “Tab键: “ + (int)Keys.Tab + “n“ + label1.Text; break;case (char)Keys.Enter: )label1.Text = “回车键 (
4、Enter): “ + (int)Keys.Enter + “n“ + label1.Text; break;case (char)Keys.Space:label1.Text = “空格键: “ + (int)Keys.Space + “n“ + label1.Text; break;case (char)Keys.Escape: label1.Text = “Esc键: “ + (int)Keys.Escape + “n“ + label1.Text; break; default:label1.Text = e.KeyChar +“: “ + (int)e.KeyChar + “n“ +
5、 label1.Text; break;10.1.2 KeyDown和 KeyUp事件KeyDown和 KeyUp事件发生在用户按下键盘上某键时,通常可编写其事件代码以判断用户按键的情况。1. 判断、处理用户按键当用户按下键盘上的任意键时,会引发当前拥有焦点对象的 KeyDown事件。用户放开键盘上任意键时,会引发 KeyUp事件。 KeyDown和 KeyUp事件通过 e.KeyCode或 e.KeyValue返回用户按键对应的 ASCII码。2. KeyDown和 KeyUp事件应用实例【 例 10-2】 设计一个数字文本加密程序。当用户在文本框中输入一个字母字符时,程序自动将其按一定的规律(算法)转换成其他字符并显示到文本框中,在标签控件中显示原始字符。按 BackSpace 键可删除光标前一个字符,标签中的内容随之变化。按 Enter 键时显示信息框,单击 【 确定 】 按钮结束程序运行。若用户按下 Ctrl Shift End 组合键,则直接结束程序运行。