禁用右键菜单其实是很容易的。主就要是实现一个接口IMenuHandler,这个接口有一个OnBeforeContextMenu的方法,我们在这里让返回一个false,右键菜单就消失了。 interna
禁用右键菜单其实是很容易的。主就要是实现一个接口 IMenuHandler ,这个接口有一个 OnBeforeContextMenu 的方法,我们在这里让返回一个false,右键菜单就消失了。
internal class MenuHandler : IMenuHandler{ public bool OnBeforeContextMenu(IWebBrowser browser, IContextMenuParams parameters) { return false; }}
再将这个对像的实例赋给 ChromiumWebBrowser 对象的 MenuHandler 属性上就OK啦。
var browser = new ChromiumWebBrowser(url);browser.MenuHandler = new MenuHandler();
以上的方法适用于老版本的CEFsharp,39及以下版本适用。目前我使用43了,不起作用了。经过网上搜索。给出解决方法。
internal class MenuHandler : IContextMenuHandler{public bool OnBeforeContextMenu(IWebBrowser browser,IBrowser ibrower,IFrame iframe,IContextMenuParams icontextmenuparams,IMenuModel imenumodel ){return false;}public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags){return false;//throw new NotImplementedException();}public void OnContextMenuDismissed(IWebBrowser browserControl, IBrowser browser, IFrame frame){// throw new NotImplementedException();}void IContextMenuHandler.OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model){model.Clear();}}