C#中TextBox實現換行

來源:互聯網
上載者:User
c#_textbox_換行_c# textbox換行     簡介摘要:本文將教你如何用C# TextBox換行,也許現在你覺得很深奧,但是讀完此篇文章你就會覺得很簡單了。 要讓一個Windows Form的TextBox顯示多行文本就得把它的Multiline屬性設定為true。 這個大家都知道,可是當你要在代碼中為Text屬性設定多行文本的時候可能會遇到點麻煩:) C# TextBox換行時你往往會

本文將教你如何用c# TextBox換行[huan hang],也許現在你覺得很深奧,但是讀完此篇文章你就會覺得很簡單了。

要讓一個Windows Form的TextBox顯示[xian shi]多行文本[wen ben]就得把它的Multiline屬性[shu xing]設定[she zhi]為true。
這個大家都知道,可是當你要在代碼[dai ma]中為Text屬性[shu xing]設定[she zhi]多行文本[wen ben]的時候可能會遇到點麻煩:)

C# TextBox換行[huan hang]時你往往會想到直接付給一個含有換行[huan hang]符"\n"的字元[zi fu]串[zi fu chuan]給Text屬性[shu xing]:

 aTextBox.Text = "First Line\nSecond Line\nThird Line";  

可是實際運行[yun hang]的時候你卻發現它始終不會換行[huan hang],顯示[xian shi]的結果為"First LineSecond LineThirdLine"。

其實主要是因為C# TextBox換行[huan hang]運行[yun hang]在Windows上。Windows能夠顯示[xian shi]的換行[huan hang]必須由兩個字元[zi fu]組成:carriage return & line feed,也就是必須是"\r\n"。如果只是"\n"在Windows中不能顯示[xian shi]為換行[huan hang]的,這與Linux/Unix等其他的作業系統[xi tong][cao zuo xi tong]不一樣。所以上邊如果把"\n"替換[ti huan]成"\r\n"就可以了。

其實問題[wen ti]仍然沒有很好的解決,因為用"\r\n"能夠滿足Windows的要求了,但是如果是其他平台[ping tai]怎麼辦?為了要確保[que bao]讓換行[huan hang]效果在各種平台[ping tai]上都能夠正常的顯示[xian shi],請用Environment.NewLine。它可以確保[que bao]在不同的平台[ping tai]下都能夠返回正確的換行[huan hang]字元[zi fu],在Windows下是\r\n,在Linux(Mono)下就應該是\n了。 所以上面的代碼[dai ma]應該寫成:

 aTextBox.Text = "First Line" + Environment.NewLine + "Second Line" + Environment.NewLine + "Third Line";  

另外C# TextBox換行[huan hang]你也可以用verbatim string literal

(用@開始的字元[zi fu]串[zi fu chuan])的形式來輸入[shu ru]換行[huan hang]符:

 aTextBox.Text = @"First Line Second Line Third Line";  

這種形式在代碼[dai ma]中看起來很直觀,但是如果代碼[dai ma]編輯器[bian ji qi]是在Windows下運行[yun hang]的,仍然相當於輸入[shu ru]了\r\n。Environment是一個靜態類[jing tai lei],位於System名稱空間[kong jian]下,提供對當前程式的運行[yun hang]環境和平台[ping tai]的相關資訊[xin xi]的訪問。它提供了很多有用的靜態屬性[shu xing]和方法[fang fa]。怎樣,覺得C# TextBox換行[huan hang]是件小事了

c#_textbox_換行_c# textbox換行     簡介摘要:本文將教你如何用C# TextBox換行,也許現在你覺得很深奧,但是讀完此篇文章你就會覺得很簡單了。 要讓一個Windows Form的TextBox顯示多行文本就得把它的Multiline屬性設定為true。 這個大家都知道,可是當你要在代碼中為Text屬性設定多行文本的時候可能會遇到點麻煩:) C# TextBox換行時你往往會

本文將教你如何用c# TextBox換行[huan hang],也許現在你覺得很深奧,但是讀完此篇文章你就會覺得很簡單了。

要讓一個Windows Form的TextBox顯示[xian shi]多行文本[wen ben]就得把它的Multiline屬性[shu xing]設定[she zhi]為true。
這個大家都知道,可是當你要在代碼[dai ma]中為Text屬性[shu xing]設定[she zhi]多行文本[wen ben]的時候可能會遇到點麻煩:)

C# TextBox換行[huan hang]時你往往會想到直接付給一個含有換行[huan hang]符"\n"的字元[zi fu]串[zi fu chuan]給Text屬性[shu xing]:

 aTextBox.Text = "First Line\nSecond Line\nThird Line";  

可是實際運行[yun hang]的時候你卻發現它始終不會換行[huan hang],顯示[xian shi]的結果為"First LineSecond LineThirdLine"。

其實主要是因為C# TextBox換行[huan hang]運行[yun hang]在Windows上。Windows能夠顯示[xian shi]的換行[huan hang]必須由兩個字元[zi fu]組成:carriage return & line feed,也就是必須是"\r\n"。如果只是"\n"在Windows中不能顯示[xian shi]為換行[huan hang]的,這與Linux/Unix等其他的作業系統[xi tong][cao zuo xi tong]不一樣。所以上邊如果把"\n"替換[ti huan]成"\r\n"就可以了。

其實問題[wen ti]仍然沒有很好的解決,因為用"\r\n"能夠滿足Windows的要求了,但是如果是其他平台[ping tai]怎麼辦?為了要確保[que bao]讓換行[huan hang]效果在各種平台[ping tai]上都能夠正常的顯示[xian shi],請用Environment.NewLine。它可以確保[que bao]在不同的平台[ping tai]下都能夠返回正確的換行[huan hang]字元[zi fu],在Windows下是\r\n,在Linux(Mono)下就應該是\n了。 所以上面的代碼[dai ma]應該寫成:

 aTextBox.Text = "First Line" + Environment.NewLine + "Second Line" + Environment.NewLine + "Third Line";  

另外C# TextBox換行[huan hang]你也可以用verbatim string literal

(用@開始的字元[zi fu]串[zi fu chuan])的形式來輸入[shu ru]換行[huan hang]符:

 aTextBox.Text = @"First Line Second Line Third Line";  

這種形式在代碼[dai ma]中看起來很直觀,但是如果代碼[dai ma]編輯器[bian ji qi]是在Windows下運行[yun hang]的,仍然相當於輸入[shu ru]了\r\n。Environment是一個靜態類[jing tai lei],位於System名稱空間[kong jian]下,提供對當前程式的運行[yun hang]環境和平台[ping tai]的相關資訊[xin xi]的訪問。它提供了很多有用的靜態屬性[shu xing]和方法[fang fa]。怎樣,覺得C# TextBox換行[huan hang]是件小事了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.