C# Windows 10上的键盘Winforms(表面)

C# Windows 10上的键盘Winforms(表面),c#,windows,winforms,touch,C#,Windows,Winforms,Touch,我的WinForms应用程序运行在Surface Pro上,Windows 10处于平板电脑模式。 没有物理键盘连接 我启动应用程序,当我点击文本框时,触摸键盘不会出现。(这是一个简单的Windows.Forms.TextBox控件)使用从TextBox继承的自定义控件时,它也不能正常工作 当我在组合框中“单击”时,触摸键盘会出现在前面。当我单击从Windows.Forms.ComboBox继承的自定义组合框时,它也会出现 单击组合框后单击文本框时,打开的触摸键盘将关闭 我怎样才能解决我的问题?

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

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

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

单击组合框后单击文本框时,打开的触摸键盘将关闭

我怎样才能解决我的问题?是否有一个c#命令可以添加到控件中,以强制触摸键盘的幻影出现

我已经将设置“不在平板电脑模式下显示触摸键盘或手写面板,并且没有键盘连接”更改为“打开”,因为我在另一个线程中读取了该设置,但没有更改


感谢您的帮助。

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

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尝试了几乎所有的方法。我用键盘弹出所有文本字段,没问题。但一周前,我注意到它并没有出现在谷歌Chrome的文本字段中。不过,它确实会在操作系统文本框中弹出。