zoukankan      html  css  js  c++  java
  • 新版【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();
    }
    }

  • 相关阅读:
    遇见SQL(2)
    遇见SQL(1)
    JAVA自学笔记(10)—Stream流、方法引用
    JAVA自学笔记(9)——网络通信、函数式接口
    JAVA自学笔记(7)—文件
    JAVA自学笔记(6)—异常、线程、函数式编程
    Python--模块Module
    Python--软件目录结构
    Python--迭代器
    Python--生成器
  • 原文地址:https://www.cnblogs.com/neights/p/5325239.html
Copyright © 2011-2022 走看看