似乎无法在webBrowser控件中禁用打印。
这是我尝试过的:
将WebBrowserShortcutsEnabled设置为FALSE
在Form的KeyDown事件中覆盖Ctrl + P
使用Webbrowser的PreviewKeyDown
如果禁用所有键盘快捷键,那将是最佳选择。
必须有某种方法来实现这一目标吗?感谢。
答案 0 :(得分:1)
您可以尝试通过CSS禁用打印。
<style type="text/css" media="print">
.noprint { display:none }
</style>
<body>
<div> This can print</div>
<div class="noprint"> This can't print</div>
<div> This can print</div>
</body>
答案 1 :(得分:1)
工作示例..
$(document).ready(function(e){
$('body').keydown(function(event) {
// alert('this');
if (event.which == 80 && event.ctrlKey) {
return false;
//alert('me');
}
});
});
答案 2 :(得分:1)
最干净的方法可能是使用IDocHostUIHandler的TranslateAccelerator方法。另一方面,它是相当多的代码和处理HtmlInterop类的需要。
然后代码可以如下所示:
int IDocHostUIHandler.TranslateAccelerator(ref tagMSG msg, ref Guid group, uint nCmdID)
{
KeyEventArgs e = new KeyEventArgs((Keys)((int)msg.wParam & 0xff) | Control.ModifierKeys);
if (e.Modifiers == Keys.Control && e.KeyCode == Keys.P )
return 0;
return 1;
}
DocHostUIHandler可以附加到DocumentCompleted事件中的文档: