Мне нужно слово wrapp средняя строка
как мне отформатировать эту строку
у меня есть 70-миллиметровый размер бумаги на моем принтере EPSON.
нужно использовать класс PrintDocument
мне просто нужно напечатать с помощью e.Graphics эту строку
если строка длиннее, чем размер бумаги, мне нужно пчела, как это
3 x cola + burger + somelong 12,00 itemname with modifiers etc//
У меня есть один элемент класса со свойствами
количество = 3
имя = Кока-Кола + бургер + somelongstring
цена = 12,00
мне нужно решение для этого - это решение не работает.
Всегда мне нужно выровнять направо в первой строке текста цена
затем, если мы пойдем влево, мне нужно количество как отдельная строка + "x" + ItemName как какая-то другая строка, но нужно обертывать слово, если эта строка слишком длинная. Поэтому мне нужно решение, как word wrapp middle string в строку и получить то, что я показываю на предварительном просмотре..
Что я уже пробовал:
public string FormatLineItem(int lineType, float linewidth, int quantity, string name, string amount) { float qtyWidth = 3; float amtWidth = 5; float nameWidth = linewidth - (qtyWidth + amtWidth); float padWidth = (linewidth + qtyWidth + 3) - nameWidth; string result = string.Empty; switch (lineType) { case 1: // data result = string.Format("{0:#0}x {1} {2:##.#0}", quantity, name.PadRight((int)padWidth), amount); break; case 2: // header result = string.Format("QTY {0} AMOUNT", name.PadRight((int)padWidth)); break; case 3: // footer result = string.Format("{0:##.#0}", amount).PadLeft((int)(linewidth - amtWidth)); break; default: break; } return result; }