【问题标题】:Buttons reaction on finger's touch in Windows 7Windows 7 中手指触摸时的按钮反应
【发布时间】:2014-11-27 16:54:37
【问题描述】:

我安装了带有触摸屏的 Windows 7。 我的标准 Windows 窗体应用程序有几个标准按钮。

我的问题:当我用手指点击表单上的按钮时,它们没有反应。 我的表单显示已单击按钮,但按钮本身没有反应。

如果我使用光标 - 一切正常。 如果我使用 Windows XP - 一切正常。

与 calc.exe 等任何标准应用程序相同

【问题讨论】:

    标签: winforms windows-7 touchscreen


    【解决方案1】:

    我进行了几次实验,现在我相信按钮在触摸时的反应问题已经解决了。

    1) 使用 WndProc 我注意到 WM_LBUTTONDOWN 和 WM_LBUTTONUP 消息同时进入我的窗口(在手指释放时)。

    2) 我安装了最新的驱动程序,找到设置触摸模式并将其更改为鼠标仿真。这解决了我的单点触摸屏的问题。但是多点触摸屏的问题仍然存在。

    3) 我创建了类:

    class TouchButton : Button
    {
        protected override void OnHandleCreated(EventArgs e)
        {
            base.OnHandleCreated(e);
            RegisterTouchWindow(Handle, 0);
        }
    
        protected override void OnHandleDestroyed(EventArgs e)
        {
            UnregisterTouchWindow(Handle);
            base.OnHandleDestroyed(e);
        }
    }
    

    4) 我用 TouchButtons 替换了所有通用按钮,问题就解决了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-25
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多