我在.NET Windows窗體應用程序中使用RichTextBox控件。我允許用戶在文本框內按Tab鍵。然而,當我保存在文本框中。文本值就會出現這樣的:.NET RichTextBox製表符字符
"This[]is[a]tab[]test[]"
這裏每個用戶按下TAB時,它就會顯示在.text財產無法識別的字符。
這是怎麼回事?
實例截圖:
我在.NET Windows窗體應用程序中使用RichTextBox控件。我允許用戶在文本框內按Tab鍵。然而,當我保存在文本框中。文本值就會出現這樣的:.NET RichTextBox製表符字符
"This[]is[a]tab[]test[]"
這裏每個用戶按下TAB時,它就會顯示在.text財產無法識別的字符。
這是怎麼回事?
實例截圖:
我結束了尋找被按下「TAB」字符的所有實例,並用「\ t」替換它,這工作:
Dim tabString = Convert.ToChar(" ") //This is the [] string
RichTextBox.Text = RichTextBox.Text.Replace(tabString, " ")
不是最好的解決方案,仍然不明白爲什麼RichTextBox沒有自動採用TAB鍵,但它現在工作。
在中間窗口:
在"Hi mint "
RichTextBox1.Text結果,即便是與AcceptTab=True
我們認爲它應該是"Hi[TAB Key]Mint"
RichTextBox1.Rtf結果?
"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}} \viewkind4\uc1\pard\f0\fs17 Hi\tab mint\tab\par }"
這是我相信你在尋找的伎倆:
RichTextBox1.SaveFile("C:\abc.txt", RichTextBoxStreamType.UnicodePlainText)
謝謝,我會試試這個。雖然這不是很理想,因爲用戶會多次保存,而且我討厭每次保存時都要寫一個文本文件。但值得嘗試 – mint 2012-02-08 19:08:59
你是什麼意思的「無法識別的字符」? TAB的ASCII值是8.它可能會在其中插入char(8)。 – 2012-02-07 16:23:09
@RoyDictus .Text應該顯示一個轉義值; _ \ t_ – 2012-02-07 16:24:23
基本上,如果我將它輸入到RichTextBox中:「嗨[tab key press]我的名字是John Doe」。當我檢查RichTextBox的.Text屬性時,它將此值顯示爲「Hi [] My name is John Doe」。這就像我按下它時不識別TAB字符。它只是顯示一個正方形。我會馬上附上截圖。 – mint 2012-02-07 16:33:55