簡體   English   中英

有沒有辦法劫持System.Windows.Forms.WebBrowser控件處理的鍵盤快捷鍵?

[英]Is there a way to hijack the keyboard shortcuts that are handled by the System.Windows.Forms.WebBrowser control?

我有一個WebBrowser控件,該控件用於在我們的應用程序中生成格式化的HTML代碼。 但是,當WebBrowserShortcutsEnabled設置為true時,控件會處理諸如復制/剪切/粘貼/全選之類的鍵盤快捷鍵。 這些操作可以很好地由控件本身處理,但是,某些控件(例如Ctrl + S)在父控件中使用,應用於“保存/保存所有”等。當WebBrowser控件具有焦點時,這些其他鍵盤快捷鍵不會傳遞給父控件。 有沒有一種方法可以以編程方式劫持這些鍵盤事件?

我嘗試使用PreviewKeyPress事件將單個擊鍵傳遞給父控件,但是傳遞多個擊鍵很困難。 有任何想法嗎?

您可以嘗試覆蓋WndProc

protected override void WndProc(ref Message m)
{
    //Check Msg and WParam for your combination...

    base.WndProc(ref m);
}

否則,此答案說明如何使用SetWindowsHookEx捕獲擊鍵,如果其他所有操作均失敗,則應該可以將您帶到那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM