C TextBox 換行 滾動到最後一行

2022-04-03 00:23:26 字數 1037 閱讀 4973

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

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

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

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了。所以上面的**應該寫成:

atextbox.text = "first line" +

environment.newline + "second line" +

environment.newline + "third line";

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

atextbox.text = @"first line

second line

third line";

this.textbox.focus();//獲取焦點

this.textbox.select(this.textbox.textlength,0);//游標定位到文字最後

this.textbox.scrolltocaret();//滾動到游標處

C TextBox 換行 滾動到最後一行

1 要讓乙個windows form的textbox顯示多行文字就得把它的multiline屬性設定為true。你往往會想到直接付給乙個含有換行符 n 的字串給text屬性 atextbox.text first line nsecond line nthird line 可是實際執行的時候你卻發現...

C TextBox 換行 滾動到最後一行

1 要讓乙個windows form的textbox顯示多行文字就得把它的multiline屬性設定為true。你往往會想到直接付給乙個含有換行符 n 的字串給text屬性 atextbox.text first line nsecond line nthird line 可是實際執行的時候你卻發現...

C TextBox 換行 滾動到最後一行

1 要讓乙個windows form的textbox顯示多行文字就得把它的multiline屬性設定為true。你往往會想到直接付給乙個含有換行符 n 的字串給text屬性 atextbox.text first line nsecond line nthird line 可是實際執行的時候你卻發現...