禁止.NET WebBrowser中的文本选择

时间:2009-12-06 22:10:09

标签: .net vb.net

我不希望我的WebBrowser控件中的文本可以选择。我该怎么做?

4 个答案:

答案 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中似乎对我有用。