如何检测WebBrowser控件的复制事件?

时间:2011-07-01 16:47:26

标签: c# .net winforms

我有一个包含WebBrowser控件的Windows窗体应用程序。现在我想处理WebBrowser控件的复制事件(上下文菜单 - >复制以及Ctrl + C)并在该事件中执行我自己的一些处理。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

就处理Control + C而言,您可以连接到WebBrowser的PreviewKeyDown事件并执行:

private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
    if (e.KeyData.ToString() == "C, Control") {
        Debug.WriteLine("You pressed Control + C");
        // Handle here
    }
}

如果您在Web浏览器上有自己的上下文菜单,并带有Control + C复制项,请处理其点击事件。

答案 1 :(得分:2)

我发现的另一种方式是:

private void myBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    myBrowser1.Document.GetElementsByTagName("body")[0].AttachEventHandler("oncopy", SayHello);
}

public void SayHello(object obj,EventArgs e)
{
    MessageBox.Show("Hello"); //Do your stuff here.
}

这甚至会触发上下文菜单复制事件。