《键盘和鼠标事》PPT课件.ppt

上传人:小飞机 文档编号:5677566 上传时间:2023-08-08 格式:PPT 页数:21 大小:1.76MB
返回 下载 相关 举报
《键盘和鼠标事》PPT课件.ppt_第1页
第1页 / 共21页
《键盘和鼠标事》PPT课件.ppt_第2页
第2页 / 共21页
《键盘和鼠标事》PPT课件.ppt_第3页
第3页 / 共21页
《键盘和鼠标事》PPT课件.ppt_第4页
第4页 / 共21页
《键盘和鼠标事》PPT课件.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《《键盘和鼠标事》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《键盘和鼠标事》PPT课件.ppt(21页珍藏版)》请在三一办公上搜索。

1、第十章 键盘和鼠标事件,目录,键盘事件 KeyPress事件 KeyDown事件 KeyUp事件鼠标事件 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_KeyPress(object

3、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=回车键(Enter):+(int)Keys.Enter+n+label1.Text;break;case(c

4、har)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+label1.Text;break;,10.1.2 KeyDown和KeyUp事件 KeyDown和KeyUp事件发生在用户按下键盘上某键时,通常可编写其事件代码以判断用户按键的情况。1.判断、处理用户按键 当

5、用户按下键盘上的任意键时,会引发当前拥有焦点对象的KeyDown事件。用户放开键盘上任意键时,会引发KeyUp事件。KeyDown和KeyUp事件通过e.KeyCode或e.KeyValue返回用户按键对应的ASCII码。,2.KeyDown和KeyUp事件应用实例【例10-2】设计一个数字文本加密程序。当用户在文本框中输入一个字母字符时,程序自动将其按一定的规律(算法)转换成其他字符并显示到文本框中,在标签控件中显示原始字符。按BackSpace键可删除光标前一个字符,标签中的内容随之变化。按Enter键时显示信息框,单击【确定】按钮结束程序运行。若用户按下CtrlShiftEnd组合键,则

6、直接结束程序运行。,文本框textBox1的KeyDown事件代码为:private void textBox1_KeyDown(object sender,KeyEventArgs e)if(textBox1.Text=)x=;else x=textBox1.Text;if(e.KeyValue=65,/如果按下的是BackSpace键,删除标签中最后一个字符 else if(int)e.KeyCode=(int)Keys.Back)if(label1.Textlabel1.Text.Length-1=:)return;label1.Text=label1.Text.Remove(label

7、1.Text.Length-1);,private void textBox1_KeyUp(object sender,KeyEventArgs e)/如果用户按下的是Enter键 if(int)e.KeyCode=(int)Keys.Enter)/如果用户单击了【确定】按钮则结束程序运行 if(MessageBox.Show(您确实要退出程序吗?,确认退出,MessageBoxButtons.OKCancel,MessageBoxIcon.Information)=DialogResult.OK)this.Close();,10.2.1 鼠标事件发生的顺序当用户操作鼠标时,将触发一些鼠标事件

8、。这些事件的发生顺序如下:MouseEnter:当鼠标指针进入控件时触发的事件。MouseMove:当鼠标指针在控件上移动时触发的事件。MouseHover/MouseDown/MouseWheel:MouseHover事件当鼠标指针悬停在控件上时被触发;MouseDown事件在用户按下鼠标键时被触发;MouseWheel事件在拨动鼠标滚轮并且控件有焦点时被触发。MouseUp:当用户在控件上按下的鼠标键释放时触发。MouseLeave:当鼠标指针离开控件时触发。,10.2 鼠标事件,【例10-3】设计一个MouseDown事件的示例程序。程序启动后,当用户在窗体上单击或双击右键或左键时,屏幕

9、上显示用户的操作,程序运行结果下图所示。,10.2.2 MouseDown和MouseUp事件,窗体Form1的MouseDown事件代码为:private void Form1_MouseDown(object sender,MouseEventArgs e)string str1=,str2=;switch(e.Button)/判断用户按下了哪个鼠标键 case MouseButtons.Right:str1=右;break;case MouseButtons.Left:str1=左;break;,/判断用户连续按下并释放了几次鼠标键 switch(e.Clicks)case 1:str2

10、=单;break;case 2:str2=双;break;label1.Text=您+str2+击了鼠标+str1+键!;label1.Left=(this.Width-label1.Width)/2;,10.2.3 MouseMove事件 当用户在移动鼠标指针到控件上时触发MouseMove事件,与该事件相关的事件还有MouesEnter和MouseLeave事件分别在鼠标指针进入控件和离开控件时发生。【例10-4】设计一个程序。要求将鼠标指针指向和离开按钮Button1时,按钮上显示的图片不同。当鼠标在窗体上移动时,标签中实时显示当前指针的坐标值(X,Y)。,MouseMove、Mouse

11、Enter和MouseLeave事件应用示例,窗体Form1的MouseMove事件代码为:private void Form1_MouseMove(object sender,MouseEventArgs e)/e.X和e.Y为MouseEventArgs类返回的当前鼠标位置坐标 label1.Text=当前鼠标的位置为:+e.X+,+e.Y;按钮Button1的MouseEnter事件代码为:private void button1_MouseEnter(object sender,EventArgs e)button1.Image=Image.FromFile(C:笑脸.gif);,按钮Button1的MouseLeave事件代码为:private void button1_MouseLeave(object sender,EventArgs e)button1.Image=Image.FromFile(C:哭脸.jpg);,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号