2014-01-12 2 views
1

Я пробовал как обычный TextBox, так и RichTextBox в приложении, где мне не нужен перенос слов. Да, конечно, я отключил перенос слов в свойствах. Это то, что происходит на чрезвычайно длинных линиях, например около 3000 символов или около того в RichTextBox (обычный TextBox намного раньше, но я могу обойтись без него, если RichTextBox работает). Я признаю, что жестокое и необычное наказание подвергает бедных RichTextBox такой длине линии, но неизбежно. Тем не менее, это похоже на ненормальное поведение.Подавление переноса слов в TextBox и RichTextBox (да, он выключен)

Текст - это просто длинные непрерывные строки повторяющихся ascii (генетические данные), поэтому ничего необычного там нет. На самом деле это обычно просто A, C, T, G без знаков препинания или пробелов.

Это известное поведение?

+1

Это жестокое и необычное наказание для пользователя *. Не создавайте совершенно бесполезный пользовательский интерфейс, как это, никто на самом деле никогда не посмотрит на него. Это нормальное поведение для RTB, оно не поддерживает бесконечность. Фактическая ширина зависит от шрифта. –

ответ

0

Вы можете попробовать RichTextBox и расширить правое поле до ширины текста.

richTextBox1.RightMargin = TextRenderer.MeasureText (yourString, this.richTextBox1.Font) .Width;

Таким образом, вы сохраняете возможность иметь другие линии.

0

Предполагая, что вы используете WinForms, как RichTextBox, так и TextBox имеют встроенные ограничения для длин линий.

Альтернативой является использование средства просмотра прокрутки и добавление вручную Label. Я не верю, что в этом сценарии будет какой-то предел, хотя я мог ошибаться.

Если вы проверили Notepad (notepad.exe) в Windows, у него также есть предел, прежде чем он начнет обертывать текст, поэтому это стандартное поведение для приложений Windows.

0

свойство Multiline должно быть ложным, чтобы линии не обертывались.

Смежные вопросы