Tag: touch

Windows窗体触发事件

我正在创建一个Windows窗体应用程序,它有几个可点击的面板,需要触摸屏相当于鼠标向下和向上事件。 当我使用键盘和鼠标进行测试时,事件被正确触发,应用程序会按预期做出反应。 但是,当在触摸屏上进行测试时则不然。 唯一可以正常工作的事件是click事件,但我的应用程序需要鼠标按下事件才能持续更新值。 有没有人遇到这样的问题,并找到了解决方案?

InjectTouchInput Windows 8 C#无法正常工作(返回false)

我刚刚开始使用InjectTouchInput for Windows 8 Consumer Preview。 我已经四处乱逛,试图让这个糟糕的事情发挥作用,但似乎无法让它实际上互动。 我正在使用c#,目前只在两个文本框和按钮中创建一个带有x和y坐标的metro接口,这些按钮调用下面的函数在这些坐标处触摸屏幕。 这是正确的方法吗? protected unsafe class TouchDriver { public struct POINTER_TOUCH_INFO { public POINTER_INFO pointerInfo; // An embedded POINTER_INFO header structure. public TOUCH_FLAGS touchFlags; // Currently none. public Rect rcContact; // Pointer contact area in pixel screen coordinates. By default, if the device does not report a contact area, […]

WPF触摸应用程序(部分)在.NET Framework 4.7上冻结

更新 微软承认这个问题 : Gepost door Microsoft op 13/10/2017 om 11:38 感谢您报告此事。 我们已经意识到这个问题,并且正在将其修复到.NET的未来版本中。 还有一个相关问题正在服务修复中发布,这将大大降低遇到此问题的可能性。 这将很快得到服务。 问题 我们的WPF应用程序正在使用触摸(没有手写笔)的平板电脑上使用,我们在安装.NET Framework 4.7后遇到问题。 使用应用程序一段时间后可能会出现两种情况:应用程序完全冻结并且必须重新启动,或者禁用Popup或Window元素中的所有触摸function。 两者之间有很大的不同,但我相信原因是一样的。 场景1:完全冻结 应用程序完全没有响应,必须使用任务管理器关闭应用程序 可以使用触摸或鼠标 有时在应用程序挂起之前会抛出以下错误: 指数数组的边界之外。 这是堆栈跟踪: at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Windows.Input.StylusWisp.WispLogic.CoalesceAndQueueStylusEvent(RawStylusInputReport inputReport) at System.Windows.Input.StylusWisp.WispLogic.ProcessSystemEvent(PenContext penContext, Int32 tabletDeviceId, Int32 stylusDeviceId, Int32 timestamp, SystemGesture systemGesture, Int32 gestureX, Int32 gestureY, Int32 buttonState, PresentationSource inputSource) […]

在现代Unity3D中捏和其他多指手势?

在现代Unity3D中,我们使用IPointerDownHandler系列调用。 关于IPointerDownHandler系列调用, public class FingerMove:MonoBehaviour, IPointerDownHandler… { public void OnPointerDown (PointerEventData data) { 当然,他们太棒了 处理单个触摸。 但是你如何以严肃的方式处理多种接触 ? 你可以“手工完成所有这一切”来跟踪你自己的动作,但看起来令人难以置信的Unity会希望你为那些绝对基本的东西做到这一点。 (我的意思是 – 它是一个游戏引擎。当然,我也可以编写我自己的渲染和物理!) 这是一个基本上“牛仔编程”的例子,只是手工完成而没有软件工程。 什么是真正的解决方案? // // example of programming a pinch (as well as swipes) using modern Unity // // here we are forced to track “by hand” in your own code // how many fingers […]

如何全局检测点击(触摸输入)而不是鼠标点击?

我想创建一个在用户触摸屏幕时显示自己的应用。 它不适用于点击。 我在Windows 7/8中寻找触控手柄。 但是我看到每个触摸窗都必须在RegisterTouchWindow中注册 TL; DR 有没有办法让触摸点位置在窗口外(全局)?

Windowsapp store应用:如何使用可扩展/可扩展的ListItems制作ListView?

我在C#Windowsapp store应用程序中有一个包含项目的Listview(这就是你所说的那些?我听说它们不再被称为Metro应用程序)。 类似于Android中的ExpandableListView ,我希望能够点击该列表项目的列表项目(而不是按钮)进行扩展, 点击展开的列表项目以使其崩溃,如果您点击另一个列表项目,则当前展开的列表项目将会崩溃,另一个将扩大。 在我的特定情况下,我有一个DataTemplate用于listitems的展开和非展开视图。 我已经看到Android的ExpandableListView可以使用附加信息扩展listitem(来自WPF的Expander做类似的事情),而不是用更大的项目替换它 ,但在Windowsapp store应用程序中是否有一个通用的解决方案? 如果不是,最接近的等价物是什么? 如下图所示,我想知道是否有一个组件可以这种方式扩展listitems,如果没有,我有哪些替代方案:

当我有触摸事件处理程序时,为什么我的鼠标事件处理程序无法正常工作?

我的一些最终用户有触摸屏,而其他人有PC。 在触摸屏上, PreviewMouseUp/Down与触摸事件处理程序一起触发,导致重复行为(在PreviewMousUp / Down中写入的函数执行两次)。 所以我的样本Button XAML: 为什么MouseDown和MouseUp事件处理程序不会在PC上被解雇? 如果我在触摸屏上执行,它就像魅力(触摸事件处理程序)。 但是,在我的电脑(VS-2015)上,它根本不起作用。 拜托,谢谢

WPF:是否有可能将普通鼠标事件“路由”到Windows 7中的触摸事件

我目前正在使用C#(.NET 4.0)和WPF for Windows 7开发触摸屏应用程序。我的问题是我现在可用的触摸屏驱动程序只生成鼠标事件。 (不幸的是,制造商没有提供正版Windows 7驱动程序)所以,目前我无法正确地进行测试。 是否有通用的方法告诉Windows 7某个设备应该是一个触摸设备(当然 – 这只能提供单点触摸事件)?

使用Unity3D的IPointerDownHandler方法,但使用“整个屏幕”

在Unity中,你需要检测场景中某些东西的手指触摸(手指绘图)。 在现代Unity中执行此操作的唯一方法非常简单 : 第1步 。 在该物体上放置一个对撞机。 (“地面”或其他任何东西。) 1 步骤2.在相机的Inspector面板上,单击以添加物理Raycaster(相关的2D或3D)。 步骤3.只需使用下面示例A中的代码。 (提示 – 不要忘记确保有一个EventSystem ……有时Unity会自动添加一个,有时不会!) 太棒了,不容易。 Unity最终通过UI层正确处理un /传播。 在台式机,设备,编辑器等上均匀而完美地工作。万岁Unity。 都好。 但是如果你想在屏幕上画画呢? 因此,您非常希望在“屏幕上”从用户滑动/触摸/绘图。 (例如,简单地说就是操作轨道摄像机。)就像在任何普通的3D游戏中,相机四处奔跑并移动。 你不希望手指在世界空间中的某个物体上的位置,你只需要抽象的“手指运动”(即在玻璃上的位置)。 你用什么对撞机? 没有对撞机你能做到吗? 由于这个原因,添加对撞机似乎很愚蠢。 我们做的是这样的 : 我只是做了某种平面对撞机,实际上是将它安装在相机下面 。 所以它只是坐在相机平截头体上,完全覆盖屏幕。 (对于代码,则不需要使用ScreenToWorldPoint,因此只需使用示例B中的代码 – 非常简单,效果很好。) 我的问题是,我不得不使用我所描述的“镜头下相机”似乎有点奇怪,只是为了触摸玻璃。 这是什么交易? (注意 – 请不要回答涉及Unity古老的“Touches”系统,这个系统今天对于真实项目无法使用,你不能忽视.UI使用传统方法。) 代码示例A – 在场景对象上绘图。 使用ScreenToWorldPoint。 using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class FingerMove:MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandler […]

WPF将MouseDown和TouchDown结合到同一事件中

我正在开发一款应用程序,将用于带触摸屏的笔记本电脑上。 因此,MouseDown事件基本上是在做同样的动作,应该怎么做。 我写的代码是这样的 – XAML C# private void Button_OnMouseDown(object sender, MouseButtonEventArgs e) { Action(); } private void Button_OnTouchDown(object sender, TouchEventArgs e) { Action(); } private void Action() 有一个更好的方法吗? 任何反馈都表示赞赏。