2009-08-19 219 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)