键盘输入、鼠标输入、焦点处理

键盘输入、鼠标输入、焦点处理

ID:30240490

大小:88.04 KB

页数:7页

时间:2018-12-28

键盘输入、鼠标输入、焦点处理_第1页
键盘输入、鼠标输入、焦点处理_第2页
键盘输入、鼠标输入、焦点处理_第3页
键盘输入、鼠标输入、焦点处理_第4页
键盘输入、鼠标输入、焦点处理_第5页
资源描述:

《键盘输入、鼠标输入、焦点处理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、一、键盘类和键盘事件WPF提供了基础的键盘类(System.Input.Keyboard类),该类提供与键盘相关的事件、方法和属性,这些事件、方法和属性提供有关键盘状态的信息。Keyboard的事件也通过UIElement等XAML基元素类的事件向外提供。对于键盘操作,其常用的事件有两组:·KeyDown事件和PreviewKeyDown事件:处理键盘键按下·KeyUp事件和PreviewKeyUp事件:处理键盘键抬起其中KeyDown和KeyUp事件属于冒泡路由事件,而PreviewKeyDown和PreviewKeyup属于隧道

2、路由事件。为了使元素能够接收键盘输入,该元素必须可获得焦点。默认情况下,大多数UIElement派生对象都可获得焦点。如果不是这样,则要使元素可获得焦点,请将基元素上的Focusable属性设置为true。像StackPanel和Canvas这样的Panel类将Focusable的默认值设置为false。因此,对要获取键盘焦点的这些对象而言,必须将Focusable设置为true。例如:在笔者的Notebook中有“静音”、“增大音量”、“减小音量”这三个快捷键,在一个应用程序的窗体上处理这三个键的点击可以:1:

3、lass="InputCommandAndFocus.Window1"2:xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"3:xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"4:Title="Window1"Height="300"Width="480"5:Focusable="True"PreviewKeyDown="Window_PreviewKeyDown">6:7:

4、--...-->8:9:1:privatevoidWindow_PreviewKeyDown(objectsender,KeyEventArgse)2:{3:if(e.Key==Key.VolumeMute)4:{5://按下“静音”键6:txtMessage.Text="Mute";7:e.Handled=true;8:}9:elseif(e.Key==Key.VolumeUp)10:{11://按下“增大音量”键12:txtMessage.Text="Up";13:e.Handled=true

5、;14:}15:elseif(e.Key==Key.VolumeDown)16:{17://按下“减小音量”键18:txtMessage.Text="Down";19:e.Handled=true;20:}21:}二、鼠标类和鼠标事件WPF提供的System.Input.Mouse类提供与鼠标相关的事件、方法和属性,这些事件、方法和属性提供有关鼠标状态的信息。与Keyboard类类似,其事件也通过UIElement等基元素向外提供。其事件主要有以下几组(每个事件均包含XXX冒泡路由事件和PreviewXXX隧道路由事件)·Mouse

6、Down、MouseUp事件:处理鼠标键的按下与抬起·MouseEnter、MouseLeave、MouseMove:处理鼠标进入、离开控件及在控件上移动·MouseWheel:处理鼠标滚轮滚动另外,对于鼠标位置的捕获,使用Mouse类的GetPosition方法,其参数是一个UIElement,表示其鼠标位置基于哪一个控件的坐标系。例如,对于一个矩形图形,设置其鼠标的各种事件:1:

7、Stroke="Black"Width="200"Fill="White"3:MouseEnter="mainRectangle_MouseEnter"MouseLeave="mainRectangle_MouseLeave"4:MouseMove="mainRectangle_MouseMove"MouseDown="mainRectangle_MouseDown"5:MouseWheel="mainRectangle_MouseWheel"/>1:privatevoidmainRectangle_MouseEnter(objec

8、tsender,MouseEventArgse)2:{3://鼠标进入控件时,控件的颜色为红色4:mainRectangle.Fill=newSolidColorBrush(Colors.Red);5:}6: 7:privatevoi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。