使用CefSharp在.Net程序中嵌入Chrome浏览器(七)——右键菜单

栏目: ASP.NET · 发布时间: 7年前

内容简介:一个常用的功能就是禁止浏览器本身的右键菜单,靠在WPF中拦截鼠标事件是不行的,可以通过设置MenuHandler来实现。首先实现一个IContextMenuHandler。然后指定chrome的MenuHandler即可。

一个常用的功能就是禁止浏览器本身的右键菜单,靠在WPF中拦截鼠标事件是不行的,可以通过设置MenuHandler来实现。

首先实现一个IContextMenuHandler。


public class NullMenuHandler : IContextMenuHandler
{
    public bool RunContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback)
    {
        return false;
    }
     public void OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
    {
        model.Clear();
    }
 
    public void OnContextMenuDismissed(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame)
    {
    }
 
    public bool OnContextMenuCommand(IWebBrowser        chromiumWebBrowser, IBrowser browser, IFrame frame,
                                     IContextMenuParams parameters,
                                     CefMenuCommand     commandId, CefEventFlags eventFlags)
    {
        throw new NotImplementedException();
    }
}

View Code

然后指定chrome的MenuHandler即可。

_webView new   ChromiumWebBrowser ()
{
     MenuHandler  =  new   NullMenuHandler ()
};

这种方式也可以自定义右键菜单,详细信息参考如下。 MenuHandler.cs

定制右键菜单也可以采用如下做法:

  1. 用上面的方式将Chrome自己的菜单屏蔽,

  2. 把HTML元素的右键点击事件通过脚本集成的方式回调给主程序,弹出自定义的WPF右键菜单

  3. WPF的右键菜单执行后,将命令用脚本的方式传递给Chrome

这样的方式下,可以直接使用WPF的右键菜单,并且也可以根据html元素的事件灵活显示菜单,虽然工作量大些,但更加灵活和自由,也可以和系统的右键菜单风格一致。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

社交网站的数据挖掘与分析

社交网站的数据挖掘与分析

Matthew A. Russell / 师蓉 / 机械工业出版社 / 2012-2 / 59.00元

Facebook、Twitter和LinkedIn产生了大量宝贵的社交数据,但是你怎样才能找出谁通过社交媒介正在进行联系?他们在讨论些什么?或者他们在哪儿?这本简洁而且具有可操作性的书将揭示如何回答这些问题甚至更多的问题。你将学到如何组合社交网络数据、分析技术,如何通过可视化帮助你找到你一直在社交世界中寻找的内容,以及你闻所未闻的有用信息。 每个独立的章节介绍了在社交网络的不同领域挖掘数据的......一起来看看 《社交网站的数据挖掘与分析》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具