C# windows窗体应用程序中触摸手势中的触摸位置未正确更新
我实现了一个名为SimpleControl的控件。在这个控件中,我使用触摸手势实现了触摸支持。在执行触摸平移操作时,此触摸位置未正确更新。在水平或垂直方向进行平移时,其工作良好。但当开始垂直平移,然后在水平方向直接移动手指时,x位置没有正确更改,更新需要更多时间。那么你能提出解决这个问题的方法吗 在下面的示例中,当进行触摸平移时,触摸点在输出窗口中更新 复制过程: 1.运行样本 2.开始垂直平移,在输出窗口中查找更新的位置 3.然后继续水平平移,仅在位置更改后x位置才会更改 请从下面找到样品C# windows窗体应用程序中触摸手势中的触摸位置未正确更新,c#,windows,winforms,touch,gesture,C#,Windows,Winforms,Touch,Gesture,我实现了一个名为SimpleControl的控件。在这个控件中,我使用触摸手势实现了触摸支持。在执行触摸平移操作时,此触摸位置未正确更新。在水平或垂直方向进行平移时,其工作良好。但当开始垂直平移,然后在水平方向直接移动手指时,x位置没有正确更改,更新需要更多时间。那么你能提出解决这个问题的方法吗 在下面的示例中,当进行触摸平移时,触摸点在输出窗口中更新 复制过程: 1.运行样本 2.开始垂直平移,在输出窗口中查找更新的位置 3.然后继续水平平移,仅在位置更改后x位置才会更改 请从下面找到样品 我
我找到了解决这个问题的办法。将以下代码设置为手势配置时,对角线平移操作工作正常,位置更新问题也已解决
GESTURECONFIG gc = new GESTURECONFIG();
gc.dwID = GID_PAN;
gc.dwWant = GC_PAN_WITH_SINGLE_FINGER_VERTICALLY | GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY | GC_PAN_WITH_INTERTIA;
gc.dwBlock = GC_PAN_WITH_GUTTER;
bool bResult = SetGestureConfig(
Handle,
0,
1,
ref gc,
_gestureConfigSize
);