private void Form1_Load(object sender, EventArgs e) { ChromiumWebBrowser b = new ChromiumWebBrowser("http://localhost:57531/views/Map/scene.html"); this.Controls.Add(b); b.Dock = DockStyle.Fill; b.KeyboardHandler = new CEFKeyBoardHander(); }
public class CEFKeyBoardHander : IKeyboardHandler {//https://bbs.csdn.net/topics/392375553 public bool OnKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey) { if (type == KeyType.KeyUp && Enum.IsDefined(typeof(Keys), windowsKeyCode)) { var key = (Keys)windowsKeyCode; switch (key) { case Keys.F12: browser.ShowDevTools(); break; case Keys.F5: if (modifiers == CefEventFlags.ControlDown) { //MessageBox.Show("ctrl+f5"); browser.Reload(true); //強制忽略緩存 } else { //MessageBox.Show("f5"); browser.Reload(); } break; } } return false; } public bool OnPreKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut) { return false; } }
轉載 原貼:https://blog.csdn.net/spw55381155/article/details/103127393