winforms richtextbox如何知道它是纯文本还是HTML

时间:2013-01-27 16:51:21

标签: html vb.net richtextbox

我有一个richtextbox,如果我使用了错误的控件,请更正我,并且他们正在使用它的内容更新其网站上的新闻门户。

我允许他们使用hmtl,或者他们可以输入他们想要的任何内容。

以下是两个例子:

使用html:

enter image description here

没有html:

enter image description here

我的问题是回车。如果我没有在他们输入的“普通”文本中替换回车符,则它们都显示在一行上。

如果他们不使用html,那么我必须用<br />替换回车符,如果他们使用它们,我就不能,因为他们已经使用了休息符。

如何在没有html的情况下使用'普通'文本,并且当我将其插入网页时使用html而不是使用html并且不用不必要的间隔搞砸它的外观时仍然使它看起来正确?

这是我开始使用的,但是当使用html时,它只会增加更多的中断:

  Private Sub ShowBody_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    Dim newbody = (String.Format("<div class=""fulldiv""><fieldset><legend>{0}</legend><div><br/>{1}</div></fieldset></div>", Title, Body)).Replace(vbLf, "<br />")
    WebBrowser1.Navigate("about:blank")
    WebBrowser1.Document.OpenNew(False)
    WebBrowser1.Document.Write(newbody)
    WebBrowser1.Refresh()
  End Sub

=== UPDATE ===

我尝试了它并且它很接近,但是如果它们多次进入,则表示文本不正确。

以下是一个例子:

enter image description here

因此,它不会按用户的意图显示。

2 个答案:

答案 0 :(得分:1)

这是一个相当普遍的问题。许多应用程序使用复选框(或类似的东西)来检查是否输入了html。如果未选中,则会在提交每行的末尾添加<br>

答案 1 :(得分:0)

尝试这样做:

"<pre>" & textbox1.text & "</pre>"

为什么不直接替换回车?