Символ .NET RichTextBox Tab - PullRequest
       2

Символ .NET RichTextBox Tab

2 голосов
/ 07 февраля 2012

Я использую элемент управления RichTextBox в приложении .NET Windows Form.Я разрешаю пользователям нажимать клавишу TAB внутри самого текстового поля.Однако, когда я сохраню значение .Text в текстовом поле, оно будет отображаться так:

"This[]is[a]tab[]test[]"

Где каждый раз, когда пользователь нажимает клавишу TAB, оно отображается как нераспознанные символы в свойстве .Text.

Что здесь происходит?

Пример снимка экрана:enter image description here

Ответы [ 3 ]

2 голосов
/ 08 февраля 2012

В промежуточном окне:

? RichTextBox1.Text приводит к "Hi mint ", хотя с 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)
0 голосов
/ 31 января 2019

В RichTextBox есть свойство под названием «AcceptsTab», просто установите это свойство как «true».

0 голосов
/ 28 февраля 2012

Я закончил поиском всех экземпляров нажимаемого символа 'TAB' и заменил его на '\ t', и это сработало:

Dim tabString = Convert.ToChar("    ") //This is the [] string
RichTextBox.Text = RichTextBox.Text.Replace(tabString, "     ")

Не лучшее решение, до сих пор не понимаю, почемуRichTextBox не реагирует на нажатие клавиши TAB автоматически, но пока работает.

...