Csharp/C#教程:如何让触摸屏在C#app中使用鼠标事件而不是触摸事件分享


如何让触摸屏在C#app中使用鼠标事件而不是触摸事件

我开发了一个C#应用程序,它覆盖了某些自定义控件中的PreviewMouseUp,PreviewMouseMove和PreviewMouseDown事件,以允许通过单击和拖动来滚动滚动查看器。 当鼠标用于拖动和滚动时,此自定义代码在非触摸屏上非常有效,但是当我在真正的触摸屏显示器上使用它时,它无法工作,因为在触摸和拖动监视器时,PreviewMouseUp不会被触发一个指头。

我希望能够以最小的更改使用我现有的代码。 这将允许我在笔记本电脑上调试时使用鼠标单击/拖动,并使用触摸屏触摸/拖动。

反正有没有配置Windows 7计算机来处理所有触摸(PreviewTouchUp,PreviewTouchDown和PreviewTouchMove)作为鼠标事件?

更新:我忘了提。 我认为如果不处理Touch事件,那么.NET会自动引发鼠标事件。 即使我编写的代码当前都没有处理Touch事件,但这似乎并没有发生。 任何想法为什么会这样?

谢谢,布莱恩

你可以做的是对两者使用相同的方法,如下所示:

protected override void OnPreviewMouseUp(MouseButtonEventArgs e) { OnPreviewTouchMouseUp(e); } protected override void OnPreviewTouchUp(TouchEventArgs e) { OnPreviewTouchMouseUp(e); } private void OnPreviewTouchMouseUp(EventArgs e) { } 

唯一的区别是你获得鼠标/触摸的坐标的方式:

触摸:

 e.GetTouchPoint(this).Position; 

对于鼠标:

上述就是C#学习教程:如何让触摸屏在C#app中使用鼠标事件而不是触摸事件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 e.GetPosition(this); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/997182.html

(0)
上一篇 2021年12月26日
下一篇 2021年12月26日

精彩推荐