内容简介:一个常用的功能就是禁止浏览器本身的右键菜单,靠在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
定制右键菜单也可以采用如下做法:
-
用上面的方式将Chrome自己的菜单屏蔽,
-
把HTML元素的右键点击事件通过脚本集成的方式回调给主程序,弹出自定义的WPF右键菜单
-
WPF的右键菜单执行后,将命令用脚本的方式传递给Chrome
这样的方式下,可以直接使用WPF的右键菜单,并且也可以根据html元素的事件灵活显示菜单,虽然工作量大些,但更加灵活和自由,也可以和系统的右键菜单风格一致。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Web contextMenu 右键菜单 2.1,支持二级菜单
- 微信公众号开发C#系列-8、自定义菜单及菜单响应事件的处理
- .net core3.1 abp动态菜单和动态权限(动态菜单实现和动态权限添加) (三)
- BottomNavigationBar 导航菜单
- Alain 菜单权限控制
- Vue 递归多级菜单
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C Primer Plus(第6版)中文版
普拉达 (Stephen Prata) / 姜佑 / 人民邮电出版社 / 2016-4-1 / CNY 89.00
《C Primer Plus(第6版)中文版》详细讲解了C语言的基本概念和编程技巧。 《C Primer Plus(第6版)中文版》共17章。第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识,包括数据类型、格式化输入/输出、运算符、表达式、语句、循环、字符输入和输出、函数、数组和指针、字符和字符串函数、内存管理、文件输入输出、结构、位操作等。第16章、17章介绍C......一起来看看 《C Primer Plus(第6版)中文版》 这本书的介绍吧!