博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新版【CefSharp】 禁用右键菜单 43.00+
阅读量:6469 次
发布时间:2019-06-23

本文共 1560 字,大约阅读时间需要 5 分钟。

原文:

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

 

转载地址:http://syjko.baihongyu.com/

你可能感兴趣的文章
CXF3.0.2+Spring3.2.14 Web Service入门实例二
查看>>
利用c语言编写程序输出一个数的每一位(多种方法)
查看>>
GlobalSign 域名型 SSL 证书
查看>>
Linux与云计算——第二阶段Linux服务器架设 第七章:网站WEB服务器架设—用户目录虚拟主机和SSL...
查看>>
关于HTML5你必须知道的28个新特性,新技巧以及新技
查看>>
Java9最新特性有哪些?
查看>>
linux中/etc/passwd和/etc/shadow中各个字段的含义
查看>>
oracle之基本介绍及认证
查看>>
爱创课堂每日一题第十六天为什么HTTPS安全?
查看>>
风险预警·11g容易被忽略的导入性能问题
查看>>
如何找到使用驱动器中的光盘之前需要格式化硬盘的数据
查看>>
micro-mvc框架支撑mvc各层代码热部署
查看>>
MySQL数据库管理4
查看>>
四月技术指标实现过程
查看>>
阿里云加入 OCI,共建容器开放标准
查看>>
人工智能是否可能会毁灭地球?
查看>>
PCB设计中都有哪些常见的孔?
查看>>
Java分布式锁,搞懂分布式锁实现看这篇文章就对了
查看>>
什么平台可以找到问答营销模式更好的玩法?
查看>>
Scala的方法和函数
查看>>