新版【CefSharp】 禁用右键菜单 43.00+

禁用右键菜单其实是很容易的。主就要是实现一个接口 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

43.00开始,IMenuHandler已经改名了,直接复制以上代码是不存在的

问了高手,自己琢磨了下 原来 改成了 IContextMenuHandler

而这个接口下面已经有了几个控制菜单的方法,由于本人入门C#不深,只能根据vs提示,提示说接口需要重写,

就根据提示,重写了方法,但是默认都是throw new NotImplementedException();

很明显这样是不行的,这三个方法从字面的理解,控制菜单的出现的应该是OnBeforeContextMenu,有2个,一个是bool,一个就不知道了

仔细看,第二个不需要返回值,里面有个IMenuModel model,无意中在网上看到了高手直接调用cef下用cefsharp的一个方法model.Clear();

胡乱写下了如下代码,还请高手看到之后指正

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();
}
}

时间: 2024-08-02 11:02:11

新版【CefSharp】 禁用右键菜单 43.00+的相关文章

【CefSharp】 禁用右键菜单 与 控制弹出窗口的方式

这周没什么时间,一开始就在忙一些CefSharp的事情,Win10的研究就放了下来,CefSharp的资料挺少的,但好在是开源的,可以我们便宜的折腾.因为两个的内容都不多,我就合成一篇文章啦. 这还里还要吐嘈一下WinForm,也可能是WPF玩的年头长了,觉得WinForm真TNND的难用呀,弄几个定义的控件,相当之麻烦. 回归正文. 一.禁用右键菜单 禁用右键菜单其实是很容易的.主就要是实现一个接口 IMenuHandler,这个接口有一个 OnBeforeContextMenu的方法,我们在

禁用右键菜单

<script type="text/javascript" language="javascript"> /*function cancelKey(){  return false;  } document.oncontextmenu =cancelKey; */  //禁用右键菜单(方法二) document.oncontextmenu = function(){return false}; </script> 禁用右键菜单

WPF 之 左键弹出操作菜单,并禁用右键菜单

在目前的WPF版本中,很多的控件都有一个ContextMenu的属性,可以设置组件的右键菜单,这点确实是很方便,但是有些时候我们可能会需要当单击鼠标左键才弹出这个ContextMenu,而不是单击鼠标右键(即:当单击鼠标右键的时候不弹出该ContextMenu),这样我们就能很方便的实现类似Flex中设置弹出式菜单的效果. 1.在前台加入一个带菜单的Button,如下: <Button Name="btnMenu" Width="50" Height=&quo

js禁用右键菜单、选中、复制、剪切、粘贴

//屏蔽右键菜单 document.oncontextmenu = function (event) { if (window.event) { event = window.event; } try { var the = event.srcElement; if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTA

jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等

禁用鼠标右键菜单栏 $("body").bind("contextmenu", function(event) { return false; }); 禁用快捷键 $("body").bind("keydown",function(e){ e=window.event||e; //禁止空格键翻页 if(event.keyCode==32){ return false; } //屏蔽F5刷新键 if(event.keyCode=

【ZedGraph】右键菜单和鼠标滚轴的移动缩放等功能的启用和禁用

本文是个人对使用过的[ZedGraph]基本功能的小结,现在逐步完善中... 通过[ZedGraph]控件属性修改: 1.禁用右键菜单: IsShowContextMenu = false; 2.禁用鼠标滚轴移动: IsEnableHPan = false; //禁止横向移动; IsEnableVPan = false; //禁止纵向移动; 2.禁用鼠标滚轴缩放: IsEnableHZoom = false; //禁止横向缩放; IsEnableVZoom = false; //禁止纵向缩放;

右键菜单和鼠标滚轴的移动缩放等功能

通过[ZedGraph]控件属性修改: 1.禁用右键菜单: IsShowContextMenu = false; 2.禁用鼠标滚轴移动: IsEnableHPan = false; //禁止横向移动; IsEnableVPan = false; //禁止纵向移动; 2.禁用鼠标滚轴缩放: IsEnableHZoom = false; //禁止横向缩放; IsEnableVZoom = false; //禁止纵向缩放;

js屏蔽浏览器右键菜单,粘贴,复制,剪切,选中(转)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

JavaScript 中禁止用户右键菜单,复制,选取,Ctrl,Alt,Shift. 获取宽高

//禁用右键菜单 document.oncontextmenu = function(){ event.returnValue = false; } //禁用选取内容 document.onselectstart = function() { event.returnValue = false; } //禁用复制 document.oncopy = function() { event.returnValue = false; } //禁用键盘中的ctrl.alt.shift document.