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]是件小事了