Я создал пользовательский элемент управления на winform, где я хочу отображать некоторый текст на элементе управления Label во время выполнения.Здесь я использовал textFormatFlag в качестве WordBreak, а затем отображает его в следующей строке.Размер этикетки фиксирован по ширине, а переменная по высоте.Теперь проблема заключается в том, как разорвать строку, если между ними нет пробела, то есть нет присутствия WordBreak в строке.Я не хочу делать расчеты по размеру шрифта и соответственно изменять строку.Это что-то скрытое в .net, которое может сделать эту работу для меня.
sizeCategory = TextRenderer.MeasureText(Source["Parent_Name"].ToString()
, lbldbCategory.Font
, sizeCategory
, TextFormatFlags.WordBreak);
Рассматривайте линии как границу моего ярлыка.ширина высота.Высота является переменной.Рассмотрим это, например.
Моя текстовая строка
"salkdjasldjkslakdjlsakjdlsakjdkajhk sdjahksajd" //see word break between the string
-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjdkajhk |
sdjahksajd |
-----------------------------------------------|
То, что я сделал и сейчас получаю, это:
из-за переноса слова
-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjd |
kajhksdjahksajdh |
-----------------------------------------------|
То, что происходит, , когда в строке нет пробела, то есть без переноса слова
-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjdkajhksdjahksajdhasdasdasdsadasd|
-----------------------------------------------|
Что я хочу, это
-----------------------------------------------|
salkdjasldjkslakdjlsakjdlsakjdkajhksdjahksajdha|
sdasdasdsadasd |
-----------------------------------------------|