winforms - CefSharp winforms 解决方案可能存在焦点问题
问题描述
使用 CfSharp Winforms 版本 73.1.130.0,我创建了一个非常简单的应用程序,它由一个带有浏览器控件的主窗体组成,然后生成新的窗体,每个窗体都有自己的浏览器控件。
主窗体指向一个网页,其中有一个简单的链接,单击该链接时会调用带有 URL 和窗口标识符的 ac# 方法,该 c# 方法使用 ChromeBrowser.RegisterAsyncJsObject 在应用程序中注册。该方法要么创建一个新表单(如果不存在具有相同标识符的表单),要么使用 BringToFront() 将带有标识符的表单置于最前面。
我们在一些机器上发现调用 BringToFront() 导致主窗体和弹出窗口争夺焦点,将 CPU 发送到 100%。如果我在弹出表单中禁用浏览器或将其隐藏,则不会出现问题。
就像我说的那样,它只在一些客户 PC 上,但我们可以在我们的 PC 上使用罗技组合键盘/触摸板重新创建它。
如果您需要一个示例应用程序,我可以提供一个,以及它导航到的网页。
我们认为我们可以通过禁用浏览器然后调用 BringToFront() 然后重新启用浏览器来绕过它,但这并不理想。
解决方案
推荐阅读
- jquery - 移动设备上的 Wordpress 问题选择选项行克隆
- python-3.x - socket.gaierror: [Errno 11001] getaddrinfo 在 Heroku 部署的应用程序上失败
- reactjs - EACCES:权限被拒绝,打开 Files/.cache/.eslintcache
- authentication - 我们如何在不使用 Auth0 登录 UI/屏幕的情况下从后端访问 API
- swiftui - 圆形视图动画不当行为
- web-services - REST API - 如何构建端点 url
- c# - 如何手动关闭与数据库的连接并取消在后台进程中运行的查询数据?
- oracle-ebs - Excel oracle add in 无法将日志上传到 oracle ebs: members not found error0cle
- angular - Angular(+11) Mono Repo 与其他版本不同
- javascript - html中可编辑文本区域的语法突出显示