背景:
在我的winform中使用CefSharp作为嵌套浏览器进行开发,开发中遇到一个软键盘的问题。
起初点击网页上的输入框元素时,不会自动弹出软键盘,后来通过添加以下的代码进行处理
相关代码:
settings.CefCommandLineArgs.Add("touch-events", "1");
settings.CefCommandLineArgs.Add("disable-usb-keyboard-detect", "1");
settings.CefCommandLineArgs.Add("touch-devices", "1");
settings.CefCommandLineArgs.Add("touch-view", "1");
Cef.Initialize(settings);
执行效果:
如代码所示,主要是对Cef设置了disable-usb-keyboard-detect属性后,在win10操作系统上测试
正常,但是在win11操作系统上却基本上没有效果,只是偶尔才能弹出软键盘。但是呢,客户使用
的操作系统是win11呢!执行效果如下图所示
对了 你的当前.Net
版本是多少
还有 CefSharp
的版本
解决方法
刚才发现了一个之前没注意到的别人提出的解决方法,或许你可以试下
使用 RegisterAsyncJsObject 为常见输入类型上的“touchstart”(仅触摸事件)注入一个“addEventListener”,以启动 tabtip。
手动执行exe进程。虽然它可能不是最好的实用解决方案,但它适用于我自己,并且可以证明对使用 Cefsharp 的其他人有用
如有问题及时沟通
emmm朋友更新的win10屏幕键盘功能有没有去开启啊,望采纳谢谢啦