У меня есть RichTextBox в программе WInForms, которая переносит любую строку, длина которой превышает 3510 символов. У меня WordWrap установлен на false, поэтому все строки меньше этой длины растягиваются нормально без переноса. Чтобы обойти это, я установил для RightMargin большое число, например 100000, которое все еще работает, но теперь, когда я использую 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). Строка больше не переносится, но я хочу, чтобы полоса прокрутки действовала только на текст в поле, а не на некоторую заранее заданную длину.