首页 > 解决方案 > 在winforms中显示事件的屏幕键盘?

问题描述

我有将安装在触摸屏设备(Windows 10)上的 ac#winforms 应用程序,我想知道如何在事件发生时弹出 Windows 屏幕键盘(每当我单击文本框时)

标签: c#winformstouchscreen

解决方案


取决于它是否处于平板电脑模式,您可以在代码中像这样调用 OSK,应用程序必须以管理员模式运行以修改注册表项以允许存在 osk。

将此代码添加到textBox_Click()事件中,单击文本框后应将其打开。

如果设备将处于平板电脑模式,您可以跳过注册表值。

Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\TabletTip\1.7", "EnableDesktopModeAutoInvoke", 1); // skip this if device is in tablet mode.
string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
string onScreenKeyboardPath = System.IO.Path.Combine(progFiles, "TabTip.exe");
process = System.Diagnostics.Process.Start(onScreenKeyboardPath);

推荐阅读