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 可是實際執行的時候你卻發現...