gpt4 book ai didi

c# - cefsharp 和 previewkeydown 事件不起作用

转载 作者:太空狗 更新时间:2023-10-29 21:43:35 25 4
gpt4 key购买 nike

这可能是一个简单的问题,但我有一个正在加载 ChromiumWebBrowser 控件 (CefSharp) 的 winforms 应用程序,我不知道如何捕获关键预览事件,因为它们都被控件吞没了。

将处理程序附加到浏览器控件的 PreviewKeyDown 事件的标准不起作用。有已知的解决方法吗?

最佳答案

CEF 在它自己的消息循环中运行,因此标准事件不起作用。

第一个最简单的选择是实现 IKeyboardHandler,您可以查看 CefSharp 源代码以获得更详细的示例(如果需要,可以将消息转发到父窗口) ).

第二次运行 settings.MultiThreadedMessageLoop = false,并在应用程序空闲时调用 Cef.DoMessageLoopWork(),这会将 CEF 集成到与您的主应用程序相同的消息循环。同样,来源包含示例,请参阅 https://github.com/cefsharp/CefSharp/blob/cefsharp/49/CefSharp.WinForms.Example/Program.cs#L63

第三个选项是挂接到 CEF 消息循环中,参见 https://github.com/cefsharp/CefSharp/blob/cefsharp/49/CefSharp.WinForms.Example/ChromeWidgetMessageInterceptor.cs举个例子

CEF = Chromium Embedded Framework - CefSharp 只是一个包装器。

关于c# - cefsharp 和 previewkeydown 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com