0

私は WinForms を使用しています。WebBrowser コントロールを追加しました。ブラウザー コントロールは IE のインスタンスであるため、IE ブラウザーのコンテキスト メニュー起動イベントをインターセプトできるようにしたいと考えています。

つまり、ブラウザ自体の右クリックメニュー項目のクリックをインターセプトしたいのですが、それはIEインスタンスであり、アプリケーション内にあるので、それを行う方法が必要です。

ブラウザ コントロールのイベントを調べてみましたが、何も役に立ちません。

ありがとう。

4

2 に答える 2

2

WebBrowser のコンテキスト メニューをキャンセルする例を次に示します。これは先に進むのに役立ちます:

// wb = WebBrowser control instance name
// attach to the DocumentCompleted event
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);

void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // when the document loading is completed, attach to the document context showing event
    wb.Document.ContextMenuShowing += new HtmlElementEventHandler(Document_ContextMenuShowing);
}

void Document_ContextMenuShowing(object sender, HtmlElementEventArgs e)
{
    // cancel showing context menu
    e.ReturnValue = false;
    // take a look at the 'e' parameter for everything else, you can get various information out of it
}
于 2012-10-22T06:28:22.030 に答える
0

以下の Web ブラウザー コントロールの単純なプロパティを設定します。

wbBrowser.IsWebBrowserContextMenuEnabled = false;
于 2012-10-22T06:40:26.710 に答える