在 winform 事件中显示屏幕键盘?
Show on-screen keyboard on event in winforms?
我有一个将安装在触摸屏设备上的 c# winforms 应用程序 (windows 10),我想知道如何让 Windows 屏幕键盘弹出当事件发生时(每当我点击文本框时)
取决于它是否处于平板电脑模式,您可以在代码中像这样调用 OSK,应用程序必须 运行 处于管理员模式才能修改注册表项以允许 osk 存在。
将此代码添加到 textBox_Click()
事件,单击文本框后应该会打开它。
如果设备将处于平板电脑模式,您可以跳过注册表值。
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\TabletTip.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);
我有一个将安装在触摸屏设备上的 c# winforms 应用程序 (windows 10),我想知道如何让 Windows 屏幕键盘弹出当事件发生时(每当我点击文本框时)
取决于它是否处于平板电脑模式,您可以在代码中像这样调用 OSK,应用程序必须 运行 处于管理员模式才能修改注册表项以允许 osk 存在。
将此代码添加到 textBox_Click()
事件,单击文本框后应该会打开它。
如果设备将处于平板电脑模式,您可以跳过注册表值。
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\TabletTip.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);