【问题标题】:Keyboard Winforms on Windows 10 (surface)Windows 10(表面)上的键盘 Winforms
【发布时间】:2016-01-19 10:16:04
【问题描述】:

我的 WinForms 应用程序在平板电脑模式下运行 Windows 10 的 Surface Pro 上。 未连接物理键盘。

我启动我的应用程序,但当我点击文本框时,触摸键盘没有出现。 (它是一个简单的 Windows.Forms.TextBox 控件)使用我从 TextBox 继承的自定义控件,它不能正常工作。

当我在 ComboBox 中“单击”时,触摸键盘会出现在前面。当我单击从 Windows.Forms.ComboBox 继承的自定义 ComboBox 时,它也会出现。

当我在单击组合框后单击文本框时,打开的触摸键盘会关闭。

如何解决我的问题?是否有一个 c# 命令可以添加到控件中以强制触摸键盘的幻影?

我已经将设置“在不处于平板电脑模式且未连接键盘时显示触摸键盘或手写面板”更改为“开”,因为我在另一个线程中阅读了该设置,但没有任何改变。

感谢您的帮助。

【问题讨论】:

    标签: c# windows winforms touch


    【解决方案1】:

    我建议在事件处理程序中使用以下代码:

    var progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
    var keyboardPath = Path.Combine(progFiles, "TabTip.exe");
    
    this.keyboardProc = Process.Start(keyboardPath);
    

    我们在那里做的是手动启动触控键盘。

    这应该可以,但是在文本框失去焦点后自动关闭键盘时可能会遇到问题。

    顺便问一下,您是否检查了以下选项是否已启用?

    【讨论】:

    • 我要试试你的解决方案。 +您提到的选项已启用。
    • @dertrautmann 太好了,告诉我进展如何。如果由于某种原因不起作用,我可以进行更多研究并更改答案。
    • @Alex 你能告诉我为什么我没有你在红色矩形内突出显示的选项吗?我刚刚安装完最新的更新,我看不到这个选项。相反,我有“在不处于平板电脑模式且未连接键盘时显示触摸键盘或手写面板”
    • @ToniAz 你试过在平板/桌面模式之间切换吗?
    • @Alex 几乎尝试了所有方法。我曾经在所有文本字段中弹出键盘,没问题。但一周前,我注意到它没有出现在 Google Chrome 文本字段中。它确实会在操作系统文本框中弹出。
    猜你喜欢
    • 1970-01-01
    • 2012-03-07
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多