c# - 在winforms中显示事件的屏幕键盘?
问题描述
我有将安装在触摸屏设备(Windows 10)上的 ac#winforms 应用程序,我想知道如何在事件发生时弹出 Windows 屏幕键盘(每当我单击文本框时)
解决方案
取决于它是否处于平板电脑模式,您可以在代码中像这样调用 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);
推荐阅读
- c# - “帮手”类——如何更好的实现
- bar-chart - 了解python代码以创建人口金字塔
- python - itertools.groupby 无法通过外键正确分组 django 查询集
- python - Docker pip依赖安装错误
- django - 如何通过 Django 中的员工状态过滤经过身份验证的用户?我有麻烦了
- java - 如何使用 Spring 制作用于将图像插入服务器的 Web 服务?
- unix - 如何根据共享位置中的多个字符过滤单词列表?
- javascript - 在每个新的“附加”功能上更改字体颜色
- azure-ad-b2c - 从返回状态不是 200 的 Azure AD B2C 捕获 API 调用
- mysql - 如何在一个表中使用外键 另一个表中的主键