У меня есть 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). Строка больше не переносится, но я хочу, чтобы полоса прокрутки действовала только на текст в поле, а не на заранее заданную длину.