要讓乙個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" +另外你也可以用verbatim string literal(用@開始的字串)的形式來輸入換行符:environment.newline + "second line" +
environment.newline + "third line";
c#**
atextbox.text = @"first line
second line
third line";
atextbox.text = @"first linesecond 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,所以就導致了無法換行...