6

我想更改 Web 浏览器控件中提供的默认上下文菜单中的菜单项。我已经尝试过:webbrowser.contextmenu = mycontextmenu。没有改变。有没有办法做到这一点?

4

4 回答 4

4

答案 - 是的。webbrowser 控件中有一个设置:.IsWebBrowserContextMenuEnabled = false;

将此设置为 false 将禁用 IE 上下文菜单,允许您设置的任何一个来统治根。简单的..

于 2011-11-23T00:05:16.590 回答
2

简短的回答是肯定的。

请参阅有关 codeproject 的这篇文章

这是关于 codeproject 的另一篇(较短的)文章

于 2009-06-19T12:58:19.857 回答
1

我正在尝试做同样的事情。我阅读了大约 5 篇 codeproject 文章(顺便说一下,它们有点旧),但无法正确理解 COM 互操作部分。可能是因为我不能用 C++ 编程。

但后来我发现这个页面http://www.pinvoke.net/default.aspx/Interfaces/IDocHostUIHandler.html看起来很有希望。它包含声称提供您想要的功能的 ac# 接口。但是我仍然无法让它一直工作,所以如果其他人可以为这个答案做出贡献,我将不胜感激。

由于我不知道您对 c# 有多熟悉(顺便说一句,我几乎是个菜鸟),所以我将在此处发布一些额外的步骤,使用 VS2008。添加 Microsoft.mshtml 作为对您的项目的引用,创建一个新的 c# 界面,并在界面顶部添加额外的 3 个“使用”语句。

using System.Windows;
using System.Runtime.InteropServices;
using mshtml;

并粘贴接口定义的代码。然后让 WebBrowser 容器实现这个接口和所有的方法。这就是我到现在为止的距离。我仍在寻找将浏览器事件重定向到容器的方法。

于 2009-07-19T23:25:28.090 回答
1

最简洁的答案是不。有关更多详细信息,请参阅此线程

于 2009-06-05T03:34:31.037 回答