C 中TextBox實現換行

2021-08-31 05:08:18 字數 1279 閱讀 8312

要讓乙個windows form的textbox顯示多行文字就得把它的multiline屬性設定為true。

這個大家都知道,可是當你要在**中為text屬性設定多行文字的時候可能會遇到點麻煩:)

你往往會想到直接付給乙個含有換行符"\n"的字串給text屬性:

c#**

atextbox.text = "first line\nsecond line\nthird line"

;  

atextbox.text = "first line\nsecond line\nthird line";
可是實際執行的時候你卻發現它始終不會換行,顯示的結果為"first linesecond linethirdline"。

其實主要是因為textbox執行在windows上。windows能夠顯示的換行必須由兩個字元組成:carriage return & line feed,也就是必須是"\r\n"。如果只是"\n"在windows中不能顯示為換行的,這與linux/unix等其他的作業系統不一樣。所以上邊如果把"\n"替換成"\r\n"就可以了。

其實問題仍然沒有很好的解決,因為用"\r\n"能夠滿足windows的要求了,但是如果是其他平台怎麼辦?為了要確保讓換行效果在各種平台上都能夠正常的顯示,請用environment.newline。它可以確保在不同的平台下都能夠返回正確的換行字元,在windows下是\r\n,在linux(mono)下就應該是\n了。所以上面的**應該寫成:

c#**

atextbox.text = "first line"

+    

environment.newline + "second line"

+    

environment.newline + "third line"

;  

atextbox.text = "first line" + 

environment.newline + "second line" +

environment.newline + "third line";

另外你也可以用verbatim string literal(用@開始的字串)的形式來輸入換行符:

c#**

atextbox.text = @"first line    

second line   

third line";  

atextbox.text = @"first line 

second line

third line";

C 中TextBox實現換行

簡介摘要 本文將教你如何用c textbox換行,也許現在你覺得很深奧,但是讀完此篇文章你就會覺得很簡單了。要讓乙個windows form的textbox顯示多行文字就得把它的multiline屬性設定為true。這個大家都知道,可是當你要在 中為text屬性設定多行文字的時候可能會遇到點麻煩 c...

C 中TextBox實現換行

簡介摘要 本文將教你如何用c textbox換行,也許現在你覺得很深奧,但是讀完此篇文章你就會覺得很簡單了。要讓乙個windows form的textbox顯示多行文字就得把它的multiline屬性設定為true。這個大家都知道,可是當你要在 中為text屬性設定多行文字的時候可能會遇到點麻煩 c...

C 中textbox輸出換行

很多人在c net平台程式設計時遇到乙個問題,就是在textbox中原本應該換行的文字,儲存到檔案中卻沒有換行。例如 textbox中文字為 而儲存到檔案中卻是 沒有了換行。原因在於 textbox中的換行 n是在window上執行的,而window上執行換行的時候需要 r n,所以就導致了無法換行...