WebBrowser-Tastaturkürzel

Ich habe ein WebBrowser-Steuerelement, das HTML anzeigt.
Ich möchte, dass der Benutzer das gesamte Dokument kopieren kann, aber nichts anderes tun kann.

Ich habe das eingestelltIsWebBrowserContextMenuEnabled undWebBrowserShortcutsEnabled Eigenschaften zufalseund ich will damit umgehenKeyUp und führen Sie Code aus, wenn der Benutzer Strg + C drückt.

Wie kann ich das machen?
Das WebBrowser-Steuerelement unterstützt keine Tastaturereignisse.
Ich habe versucht, die Formulare zu verwendenKeyUp Veranstaltung mitKeyPreview, aber es hat überhaupt nicht geschossen.

BEARBEITEN: Hier ist meine Lösung, inspiriert von Jerbs Antwort.

class CopyableWebBrowser : WebBrowser {
    public override bool PreProcessMessage(ref Message msg) {
        if (msg.Msg == 0x101    //WM_KEYUP
         && msg.WParam.ToInt32() == (int)Keys.C && ModifierKeys == Keys.Control) {
            DoCopy();
            return true;
        }
        return base.PreProcessMessage(ref msg);
    }
    void DoCopy() {
        Document.ExecCommand("SelectAll", false, null);
        Document.ExecCommand("Copy", false, null);
        Document.ExecCommand("Unselect", false, null);
    }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage