Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# windows窗体应用程序中触摸手势中的触摸位置未正确更新_C#_Windows_Winforms_Touch_Gesture - Fatal编程技术网

C# windows窗体应用程序中触摸手势中的触摸位置未正确更新

C# windows窗体应用程序中触摸手势中的触摸位置未正确更新,c#,windows,winforms,touch,gesture,C#,Windows,Winforms,Touch,Gesture,我实现了一个名为SimpleControl的控件。在这个控件中,我使用触摸手势实现了触摸支持。在执行触摸平移操作时,此触摸位置未正确更新。在水平或垂直方向进行平移时,其工作良好。但当开始垂直平移,然后在水平方向直接移动手指时,x位置没有正确更改,更新需要更多时间。那么你能提出解决这个问题的方法吗 在下面的示例中,当进行触摸平移时,触摸点在输出窗口中更新 复制过程: 1.运行样本 2.开始垂直平移,在输出窗口中查找更新的位置 3.然后继续水平平移,仅在位置更改后x位置才会更改 请从下面找到样品 我

我实现了一个名为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
                    );