我不希望我的WebBrowser控件中的文本可以选择。我该怎么做?
答案 0 :(得分:4)
试试这个:
// deselects text in _current_ document
private void Document_Uselect(object sender, HtmlElementEventArgs e)
{
MainWebBrowser.Document.ExecCommand("Unselect", true, null);
}
// if _current_ document changes - we need new handlers
private void MainWebBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
MainWebBrowser.Document.Click += new HtmlElementEventHandler(Document_Uselect);
MainWebBrowser.Document.MouseMove += new HtmlElementEventHandler(Document_Uselect);
}
答案 1 :(得分:2)
可能是这个链接会回答你的问题。我没有尝试过这个脚本。但我想这很有效。 http://www.dynamicdrive.com/dynamicindex9/noselect.htm
答案 2 :(得分:1)
这是一个不寻常的请求......
除非您想为自己编写一个,否则无法控制WebBrowser控件中选择的内容。你可以做的是直接在Web浏览器控件的顶部拉伸DIV或透明图像,因此任何突出显示的尝试实际上是在最顶层的元素上完成的,而不是web浏览器控件。
答案 3 :(得分:0)
虽然问题是在2009年提出的,但谷歌叔叔仍然没有找到简单的答案。在Visual Studio 2015中,我在实验后发现了以下阻止Webbrowser控件中文本选择的方法。
<body onselectstart="window.event.returnValue=false;">
同样的属性可以同样适用于任何其他标签。
相比之下, onselectstart =“return false”, onselectstart =“function(){return false}”, unselectable =“on”,也没有“ - ms-user-select:none;”在CSS中似乎对我有用。