我有一个包含WebBrowser控件的Windows窗体应用程序。现在我想处理WebBrowser控件的复制事件(上下文菜单 - >复制以及Ctrl + C)并在该事件中执行我自己的一些处理。
我怎样才能做到这一点?
答案 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.
}
这甚至会触发上下文菜单复制事件。