在我的應用程序中,我有一個包含瀏覽器控件的窗體,其中顯示SSRS報告。我想阻止用戶右鍵單擊瀏覽器控件並顯示彈出菜單。理想情況下,我希望右鍵單擊無法執行任何操作。有什麼辦法可以完成這個嗎?WebBrowser控件 - 防止右鍵單擊
回答
您可以將IsWebBrowserContextMenuEnabled設置爲false。您可能也希望將AllowWebBrowserDrop設置爲false,因此它們不能將url拖入應用程序並加載它。
webBrowser1.IsWebBrowserContextMenuEnabled = false;
webBrowser1.AllowWebBrowserDrop = false;
將IsWebBrowserContextMenuEnabled
屬性設置爲false
。
對於WPF ===>
wbBrowser.ContextMenu.IsEnabled = FALSE;
任何情況下,WinForm的或WPF:
private void WebBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
((WebBrowser)sender).InvokeScript("eval", "$(document).contextmenu(function() { return false; });");
}
這是最好的答案,因爲最優雅的一個(https://stackoverflow.com/a/21699086/592212)有問題(至少我遇到過崩潰),當WebBrowser(WPF)包含在自定義控制。需要jQuery的思想。 – 2017-07-17 16:29:47
完美工作,不需要對加載的頁面或應用程序自己的設計或註冊表進行任何更改:) – Nitin 2017-07-26 13:45:44
我有我的項目的解決方案的工作(WPF - MVVM):
重要的附加參考:Microsoft.mshtml
實現事件:webBrowser.LoadCompleted + = webBrowser_LoadCompleted;
using mshtml;
private void webBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
object doc = webBrowser.Document;
HTMLDocumentEvents2_Event evn2 = doc as HTMLDocumentEvents2_Event;
HTMLDocumentEvents_Event evn = doc as HTMLDocumentEvents_Event;
evn.oncontextmenu += new HTMLDocumentEvents_oncontextmenuEventHandler(Evn_oncontextmenu);
evn2.oncontextmenu += new HTMLDocumentEvents2_oncontextmenuEventHandler(Evn2_oncontextmenu);
}
private bool Evn2_oncontextmenu(IHTMLEventObj pEvtObj)
{
return false;
}
private bool Evn_oncontextmenu()
{
return false;
}
希望有幫助。
- 1. 如何禁用WPF Webbrowser控件上的「右鍵單擊」?
- 2. DropDownList控件右鍵單擊事件
- 3. 通過雙擊右鍵單擊來防止編輯NSTextField
- 4. 防止WebBrowser控件吞噬異常
- 5. 防止WinForms中的FileDown webbrowser控件
- 6. 停止在WinJS中右鍵單擊顯示AppBar控件
- 7. 如何覆蓋右鍵單擊winforms WebBrowser控件時出現的ContextMenu?
- 8. 如何防止彈出窗口右鍵單擊使用JavaScript?
- 9. 右鍵單擊
- 10. VueJS中的右鍵單擊和右鍵單擊事件
- 11. TrayIcon右鍵單擊事件
- 12. Applescript右鍵單擊文件
- 13. CanJS右鍵單擊事件
- 14. 右鍵單擊MenuIcon
- 15. 防止從右鍵單擊樹視圖單元格選擇樹單元格
- 16. 點擊WebBrowser控件
- 17. Mapbox右鍵單擊
- 18. Fabric.js右鍵單擊
- 19. 如何控制d3.brush(右鍵單擊)
- 20. 右鍵單擊Swing
- 21. 右鍵單擊JButton
- 22. 鼠標右鍵單擊事件右鍵單擊事件調用取消過程
- 23. WebBrowser控件中的單擊按鈕vb.net
- 24. WebBrowser控件:單擊將不起作用
- 25. NSStatusItem右鍵單擊菜單
- 26. NSEvent單擊右鍵菜單
- 27. 如何防止右鍵點擊取消行取消
- 28. Tkinter Treeview識別右鍵單擊事件返回以前右鍵單擊的行
- 29. 如何防止默認右鍵單擊包含圖像的畫布
- 30. 使控制單擊行爲就像右鍵單擊JList
這是windows窗體還是WPF?這是WebBrowser控件還是Report控件? – 2010-12-20 20:32:49
什麼版本的SQL Server – 2010-12-20 20:35:15
如果你已經實現了一個瀏覽器控件,爲了顯示一個報告,在一個SSRS網絡控件中,爲什麼你不使用Windows Report控件,並避免在這種情況下的瀏覽器控制(如果它就像那樣)! – 2010-12-20 20:38:58