c# – WebBrowser键盘快捷键

c# – WebBrowser键盘快捷键,第1张

概述我有一个WebBrowser控件显示一些 HTML. 我希望用户能够复制整个文档,但不要做任何其他 *** 作. 我将IsWebBrowserContextMenuEnabled和WebBrowserShortcutsEnabled属性设置为false,并且我想处理KeyUp并在用户按Ctrl C时运行一些代码. 我怎样才能做到这一点? WebBrowser控件不支持键盘事件. 我尝试使用KeyPrevi 我有一个Webbrowser控件显示一些 HTML.
我希望用户能够复制整个文档,但不要做任何其他 *** 作.

我将IsWebbrowserContextMenuEnabled和WebbrowserShortcutsEnabled属性设置为false,并且我想处理KeyUp并在用户按Ctrl C时运行一些代码.

我怎样才能做到这一点?
Webbrowser控件不支持键盘事件.
我尝试使用KeyPrevIEw表单的KeyUp事件,但它根本没有触发.

编辑:这是我的解决方案,灵感来自于Jerb的答案.

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",null);        document.ExecCommand("Unselect",null);    }}
解决方法 你也可以尝试这个方法.将其放在主窗体区域,并且应该捕获所有的键盘命令.我用它来添加键盘快捷键到动态创建的选项卡.
protected overrIDe bool ProcessCmdKey(ref Message msg,Keys keyData) {    switch (keyData)    {        case Keys.Control|Keys.Tab:            NextTab();            return true;        case Keys.Control|Keys.Shift|Keys.Tab:            PrevIoUsTab();            return true;        case Keys.Control|Keys.N:            CreateConnection(null);            return true;    }    return false;
总结

以上是内存溢出为你收集整理的c# – WebBrowser键盘快捷键全部内容,希望文章能够帮你解决c# – WebBrowser键盘快捷键所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1262968.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存