首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TouchScreen WPF中,如何识别输入指针是鼠标指针还是手指指针?

在TouchScreen WPF中,如何识别输入指针是鼠标指针还是手指指针?
EN

Stack Overflow用户
提问于 2013-11-05 10:12:44
回答 2查看 1.4K关注 0票数 0

在我的应用程序中,我想同时处理鼠标和触摸事件,以保持平滑。但是在这里,我允许我的代码,比如鼠标事件,只有当输入指针是鼠标时才能工作,而只有当输入指针在触摸屏上是手指时,触摸事件才能工作(比如Outlook 2013在触摸设备上)。如何做到这一点?或者,如果有任何内建事件可用来识别输入指针,请告诉我。

请向我提供你的建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-05 10:26:12

WPF提供不同类型的输入事件(例如:MouseLeftButtonDownStylusDownTouchDown)。所有这些事件都有关联的事件参数,这些参数允许您访问导致交互的输入设备(例如:MouseEventArgs.Device等)。

更新:

Mouse事件为实际的计算机鼠标触发,并由手写笔输入。如果您需要识别触摸输入,您可以利用Stylus相关事件的Stylus变体(例如PreviewStylusButtonDown)。然后,在通信事件处理程序中,您可以设置一个全局变量(类型为bool),指示正在处理触摸输入。在鼠标事件处理程序中访问这个变量,让我们根据输入类型调用代码。最后,在使用这种方法时,不要忘记在交互完成时“取消”Boolean

或者,您也可以直接将代码放在StylusButtonDown的处理程序中,在这种情况下,您需要知道鼠标事件仍然被触发。

票数 1
EN

Stack Overflow用户

发布于 2020-05-18 08:22:50

在MouseLeftButtonDown处理程序中:

代码语言:javascript
复制
if (e.StylusDevice != null) {
    // Event generated by touch screen
}
else {
    // Event generated by mouse
}

这也适用于MouseMove、MouseUp事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19786444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档