c# – WebBrowser键盘快捷键
发布时间:2020-12-15 04:21:44 所属栏目:百科 来源:网络整理
导读:我有一个WebBrowser控件显示一些 HTML. 我希望用户能够复制整个文档,但不要做任何其他操作. 我将IsWebBrowserContextMenuEnabled和WebBrowserShortcutsEnabled属性设置为false,并且我想处理KeyUp并在用户按Ctrl C时运行一些代码. 我怎样才能做到这一点? Web
我有一个WebBrowser控件显示一些
HTML.
我希望用户能够复制整个文档,但不要做任何其他操作. 我将IsWebBrowserContextMenuEnabled和WebBrowserShortcutsEnabled属性设置为false,并且我想处理KeyUp并在用户按Ctrl C时运行一些代码. 我怎样才能做到这一点? 编辑:这是我的解决方案,灵感来自于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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |