2016-09-03 11 views
1

У меня многострочное текстовое поле в приложении WinForms, я установил свойство WordWrap в true.Пользовательская перенос слов с помощью TextBox

Но, как вы можете видеть, когда я устанавливаю свойство Text в следующую строку, линия разбивается на символ «-» ORD-082619/1023.

myTextBox.Text = "ORD-082619/1020, ORD-082619/1021, ORD-082619/1022, ORD-082619/1023"; 

enter image description here

Есть ли способ, чтобы обернуть текст в следующее изображение? enter image description here

+0

Если я не ошибаюсь, у вас есть доступ к ширине текстового поля, поэтому вы можете сделать простой алгоритм - 's plit by width' -> 'from first line to last' ->' принять участие после последней запятой, удалить ее из этой строки, добавить ее в начало следующей строки (если следующая строка пуста, добавьте новую строку '-> продолжайте до конца. –

ответ

2

Вы могли бы заменить регулярные переносы с non-breaking hyphens:

myTextBox.Text = myTextBox.Text.Replace("-", "\u2011"); 

enter image description here

Это, конечно, работать только если у вас нет какой-либо из тех, кто раньше, и нужно знать, какой был, который , (в этом случае вы можете сохранить исходную версию где-нибудь, возможно, в теге ;-)