新版【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();
}
}
新版【CefSharp】 禁用右键菜单 43.00+的更多相关文章
- 【CefSharp】 禁用右键菜单 与 控制弹出窗口的方式(限版本39.0.0.1)
这周没什么时间,一开始就在忙一些CefSharp的事情,Win10的研究就放了下来,CefSharp的资料挺少的,但好在是开源的,可以我们便宜的折腾.因为两个的内容都不多,我就合成一篇文章啦. 这还里 ...
- js 禁用右键菜单、拖拽、选中、复制
//禁用拖拽 document.ondragstart = function () { return false; }; /** * 禁用右键菜单 */ document.oncontextmenu ...
- CefSharp 屏蔽右键菜单
既然是C#+web混用模式,当然就需要把web的右键操作屏蔽掉咯.废话不说了直接上代码. internal class MenuHandler : IMenuHandler { public bool ...
- ChromiumWebBrowser 禁用右键菜单
/// <summary> /// 禁用嵌套页面的右键菜单 /// </summary> public class MenuHandler : IContex ...
- js禁用右键菜单、选中、复制、剪切、粘贴
//屏蔽右键菜单 document.oncontextmenu = function (event) { if (window.event) { event = window.event; } try ...
- WPF 之 左键弹出操作菜单,并禁用右键菜单
在目前的WPF版本中,很多的控件都有一个ContextMenu的属性,可以设置组件的右键菜单,这点确实是很方便,但是有些时候我们可能会需要当单击鼠标左键才弹出这个ContextMenu,而不是单击鼠标 ...
- jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等
禁用鼠标右键菜单栏 $("body").bind("contextmenu", function(event) { return false; }); 禁用快捷 ...
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
ASP.NET Boilerplate 学习 1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...
- WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键
原文:WebBrowser控件禁用超链接转向.脚本错误提示.默认右键菜单和快捷键 WebBrowser控件禁用超链接转向.脚本错误提示.默认右键菜单和快捷键从 VS2005开始,VS自带的 WebBr ...
随机推荐
- Android自定义组件系列【9】——Canvas绘制折线图
有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...
- 在vue中使用nprogress
NProgress的官网:http://ricostacruz.com/nprogress/ 源码地址:https://github.com/rstacruz/nprogress 1.安 ...
- ZOJ 3204 Connect them 继续MST
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3367 题目大意: 让你求最小生成树,并且按照字典序输出哪些点连接.无解输出-1 ...
- ios开发网络学习AFN三:AFN的序列化
#import "ViewController.h" #import "AFNetworking.h" @interface ViewController () ...
- Android shape画圆点
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- Windows Phone 8.1 Tiles, Notifications and Action Center
(1)Tiles Tiles 也就是磁贴,是 Windows Phone 的一大特色. 一个 Tile 其实可以看成是一个 XML,比如: <tile> <visual> &l ...
- FireFox中使用showModalDialog显示的对话框不能用window.close()关闭
FireFox中使用 showModalDialog 显示的对话框不能用 window.close() 进行关闭: 是FireFox的配置问题,解决方法如下: 在FireFox地址栏里输入 about ...
- RESET MASTER 和RESET SLAVE 命令的使用方法 注意事项
RESET MASTER 删除所有index file 中记录的所有binlog 文件,将日志索引文件清空,创建一个新的日志文件,这个命令通常仅仅用于第一次用于搭建主从关系的时的主库,注意 rese ...
- 【t082】牛跑步
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 新牛到部队,CG要求它们每天早上搞晨跑,从A农场跑到B农场.从A农场到B农场中有n-2个路口,分别标上 ...
- 排序算法 基于Javascript
写在前面 个人感觉:javascript对类似排序查找这样的功能已经有了很好的封装,以致于当我们想对数组排序的时候只需要调用arr.sort()方法,而查找数组元素也只需要调用indexOf()方法或 ...