ChromiumWebBrowser Отключить контекстное меню правой кнопкой мыши VB .Net - PullRequest
0 голосов
/ 26 октября 2019

Необходимо отключить контекстное меню правого клика ChromiumWebBrowser в VB .Net.

Я пробую много примеров кода из официальной документации и конвертирую код из C в VB, но все равно не могу заставить его работать.

Пожалуйста, если можете показать мне пример кода для отключения правого клика и избежания перетаскивания ChromiumWebBrowser в vb .Net

Файл класса

Public Class CustomMenuHandler

Public Sub OnBeforeContextMenu(ByVal browserControl As IWebBrowser, ByVal browser As CefSharp.IBrowser, ByVal frame As IFrame, ByVal parameters As IContextMenuParams, ByVal model As IMenuModel)
    model.Clear()
End Sub

Public Function OnContextMenuCommand(ByVal browserControl As IWebBrowser, ByVal browser As CefSharp.IBrowser, ByVal frame As IFrame, ByVal parameters As IContextMenuParams, ByVal commandId As CefMenuCommand, ByVal eventFlags As CefEventFlags) As Boolean
    Return False
End Function

Public Sub OnContextMenuDismissed(ByVal browserControl As IWebBrowser, ByVal browser As CefSharp.IBrowser, ByVal frame As IFrame)

End Sub

End Class

Вызов класса

browser = New ChromiumWebBrowser("google.com")
browser.MenuHandler = New CustomMenuHandler
panel1.Controls.Add(browser)

Ошибка: дополнительная информация: объект типа 'Project.CustomMenuHandler' нельзя преобразовать в тип 'CefSharp.IContextMenuHandler'.

1 Ответ

0 голосов
/ 27 октября 2019

Во-первых, ваш класс CustomMenuHandler должен реализовать требуемый интерфейс следующим образом:

Public Class CustomMenuHandler implements IContextMenuHandler

Это решит проблему для вас. Если вы ищете альтернативы, вы можете просто захватить событие MouseDown, проверить, является ли нажатая клавиша мыши правой клавишей мыши (MouseButton.Right), и обработать событие щелчка с помощью e.Handled = True;

Надеюсь, это поможет.

...