CefSharp 117.2.40.0 在 VB6 MDI 子项中使用时,在恢复最小化窗口时呈现锁定的灰色屏幕

CefSharp 117.2.40.0 when used in VB6 MDI child, renders locked grey screen when restoring minimized window

提问人:Tapticc BID 提问时间:10/20/2023 最后编辑:Tapticc BID 更新时间:10/20/2023 访问量:52

问:

我在 .Net WinForms 用户控件中使用 WinForms 包 v117.2.40。我已经让控件在具有后期绑定的现有 VB6 应用程序中工作,我可以毫无问题地重定向到新的 URL。我可以使用 VB6 应用程序的“窗口”菜单在 Cef 浏览器 MDI 子窗口和其他 MDI 子窗口之间切换,而不会出现问题。

我确实遇到的问题是,在 VB6 应用程序(使用 MDI 窗口)中,如果 MDI 窗口之间的 I CTRL-TAB,CEF 浏览器变为灰色并且容器控件(带有文件菜单/地址栏)被禁用。但是,如果我双击“文件”菜单右侧的区域,这似乎会重新启用 Cef 浏览器控件,“文件”菜单再次响应,并且显示浏览器内容,而不是灰色区域。

经过大量的抨击和研究,我的问题是:当父窗口最小化时,Cef 浏览器的 WinForms 版本是否会自行禁用?对于我在 Google 上搜索的最类似的问题,我在 WinForms 中找不到任何内容,解决方案是在没有代码的情况下覆盖 OnBrowserWasHidden 方法。任何指点将不胜感激

当我使用 CTRL-TAB 从一个 MDI 子窗口切换到另一个 MDI 子窗口时,我希望 Cef 浏览器控件不会处于某种“锁定”状态

.NET VB6 控制 CefSharp

评论

2赞 amaitland 10/21/2023
您可以调试源代码以更好地了解 github.com/cefsharp/CefSharp/blob/cefsharp/117/ 正在发生的事情...
0赞 Tapticc BID 10/23/2023
感谢您的提示,非常感谢
0赞 Tapticc BID 10/23/2023
问题是,即使手动还原和最大化包含 CefSharp 控件的窗口也不会使其重新显示。重新激活控件的唯一方法是双击控件的“文件”菜单右侧的区域。我不认为这是 CefSharp 特有的事情,它似乎更像是 VB6 和 .Net 控制问题
0赞 amaitland 10/23/2023
作为测试,您可以尝试禁用 ParentFormMessageInterceptor。将以下属性设置为 false。github.com/cefsharp/CefSharp/blob/cefsharp/117/......
0赞 Tapticc BID 10/23/2023
查看 .Net 代码(我以前使用 Cef DLL),我发现当使用 CTRL-TAB 而不是 WIndow 菜单时,控件 Visible 为 false。一旦我发现,在 .Net 控件代码中,我只需要设置控件即可。可见到真(我之前尝试的是浏览器控件可见,而不是 .Net 控件本身)

答: 暂无答案