捕获Web浏览器控件的鼠标右键单击事件

Pom*_*ter 5 c# webbrowser-control winforms

当用户右键单击我的Web浏览器控件时,我想选择所有内容.

我正在开发一个win表单应用程序,并使用Web浏览器来显示我的信息,因为我可以使用html来设置单词的样式.

右键单击上下文菜单对我不起作用.它上面的选项与我的应用程序无关.

但是选择后的上下文菜单我想要保留,复制,剪切,粘贴选项.

我已经可以选择全部:

getCurrentBrowser().Document.ExecCommand("SelectAll", true, null);
Run Code Online (Sandbox Code Playgroud)

我想在Web浏览器的右键单击事件中执行此操作?

Ria*_*Ria 5

处理MouseDown事件:

webBrowser.Document.MouseDown += new HtmlElementEventHandler(Document_MouseDown);
Run Code Online (Sandbox Code Playgroud)

并确保用户按下右键,然后选择全部:

void Document_MouseDown(object sender, HtmlElementEventArgs e)
{
    if(e.MouseButtonsPressed == MouseButtons.Right)
    {
        webBrowser.Document.ExecCommand("SelectAll", true, null);
    }
}
Run Code Online (Sandbox Code Playgroud)


Pom*_*ter 2

这有效:)

当上下文菜单显示全选正在运行时,会推出我想要的上下文菜单,包括复制、粘贴、剪切等。

private void webCompareSQL_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (webCompareSQL.Document != null)
            {
                webCompareSQL.Document.ContextMenuShowing += DocMouseClick;
            }
        }
        void DocMouseClick(object sender, HtmlElementEventArgs e)
        {
            webCompareSQL.Document.ExecCommand("SelectAll", true, null);
        }
Run Code Online (Sandbox Code Playgroud)