Как обнаружить событие копирования элемента управления WebBrowser? - PullRequest
1 голос
/ 01 июля 2011

У меня есть приложение Windows Forms, которое содержит элемент управления WebBrowser. Теперь я хочу обработать событие Copy (контекстное меню -> Copy, а также Ctrl + C) элемента управления WebBrowser и выполнить некоторую собственную обработку этого события.

Как мне этого добиться?

Ответы [ 2 ]

2 голосов
/ 02 июля 2011

Другой способ, который я обнаружил, был следующим:

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.
}

Это срабатывает даже для события копирования контекстного меню.

2 голосов
/ 01 июля 2011

Что касается обработки Control + C, вы можете подключиться к событию PreviewKeyDown WebBrowser и выполнить:

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

Если у вас есть собственное контекстное меню в веб-браузере сControl + C копирует элемент, обрабатывает его событие клика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...