У меня есть RichTextBox в программе WInForms, которая переносит любую строку, длина которой превышает 3510 символов. У меня для WordWrap установлено значение false, поэтому все строки меньше этой длины обычно растягиваются без переноса. Что я делал, чтобы обойти это, так это устанавливал RightMargin на большое число, такое как 100 000, которое все еще работает, но теперь, когда я нахожусь в Windows 7, а не в XP, я получаю полосу прокрутки, которая прокручивается, как если бы текстовое поле было линии такой большой длины, когда это не так.
Для репликации просто создайте программу winforms с RichTextBox и Button. В событии нажатия кнопки поместите следующее:
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 3511; i++)
sb.Append('A');
richTextBox1.Text = sb.ToString();
После того, как вы увидите обертку, измените RightMargin текстового поля на 100000 и обратите внимание на полосу прокрутки, которая появляется еще до запуска программы (только на 7 и, возможно, на Vista). Строка больше не переносится, но я хочу, чтобы полоса прокрутки действовала только на текст в поле, а не на заранее определенную длину.