65.9K
CodeProject 正在变化。 阅读更多。
Home

禁用 WebBrowser 控件的上下文菜单

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.80/5 (5投票s)

2008年12月31日

CPOL
viewsIcon

71329

一种简单的方法来禁用 WebBrowser 控件的上下文菜单。

引言

在开发一个使用 Visual Studio 附带的 WebBrowser 控件的应用程序时,我意识到我不希望在用户右键单击控件时显示默认上下文菜单,因为我想要实现自己的上下文菜单功能。好吧,你懂的,在 Google 和其他开发站点上搜索答案。有很多解决方案,大多数都涉及从 MSHTML 中的某个接口继承并将其转换为文档,等等。

结果它要简单得多……这是不是新功能,或者没有人知道?因为其他的解决方案都太复杂了。

代码

你所需要做的就是在 WebBrowserDocument.ContextMenuShowing 事件上创建一个处理程序。为此,将以下代码放在包含 WebBrowser 控件的窗体加载方法中

AddHandler Me.WebBrowser1.Document.ContextMenuShowing, AddressOf WebContextMenuShowing

将此代码放置在代码中的任何位置

Private Sub WebContextMenuShowing(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
    'displays your contextmenustrip - you could leave it out to
    ' just disable the browsers context menu
    Me.WebBrowser1.ContextMenuStrip.Show(Cursor.Position)
    'suppresses the display of the browsers context menu
    e.ReturnValue = False
End Sub

就是这样!

历史

  • 原始提交 - 2008年12月31日。
© . All rights reserved.