2009-08-19 80 views
4

我在VB.NET中使用一个富文本框并传递给StringBuilder。我需要用空格或逗号替换TextBox中的新行字符。问题是新线的标准码在这种情况下似乎没有拿起这个新线字符。 Rich TextBox中是否使用特定字符作为新行?任何帮助或建议将不胜感激。VB.NET富文本框换行字符

回答

6

我能弄明白。你必须使用ControlChars.Lf,所以代码将沿着以下几行:

RichTextBox1.Text = RichTextBox1.Text.Replace(ControlChars.Lf, ",") 
+1

啊是的,ControlCharacters。我完全忘记了这些,因为我现在几乎完全在C#中工作了很长一段时间。很高兴你解决了它! – Anders 2009-08-19 20:26:56

+0

顺便说一句,ControlChars.Lf相当于Chr(10),因为ezwi和我之前提到过:) – Anders 2009-08-19 20:29:27

+1

但是,这又是一个VB特定的函数。为什么不使用Environment.Newline,以便它是不可知的语言? – 2009-08-20 14:34:36

4

您可以尝试Environment.NewLine作为真正的换行符的语言不可知常量(如果可能,应尽量避免使用特定于语言的常量和函数)。

RichTextBox1.Text = RichTextBox1.Text.Replace(Environment.NewLine, ",") 
0

有时它只是chr(10)chr(13)VbCrLfchr(10)chr(13)的组合。

尝试解析出一个或另一个,看看是否有帮助。

1

您可以使用RichTextBox的Lines属性。然后,您可以将您的逗号,但你界定它如下

Dim sb As New StringBuilder(String.Join(",", Me.richTextBox1.Lines)) 
1
Dim linesJoined As String = String.Join(",", Me.RichTextBox1.Lines)