Как я могу обернуть строки во время печати?
Я хочу обернуть эти числа в две строки, чтобы поместиться в столбце. в настоящее время рисует с
e.Graphics.DrawString(
ViewA.Rows[sn].Cells["itemcode"].Value.ToString(),
font,
Brushes.Black,
new PointF(e.MarginBounds.Left, un));
Можем ли мы сделать эти строки обернуть из 10 символов, когда те string.length > 10
? например, 33435356985968 будет
3343535698
5968
Изменить: я изменить код на это. Благодаря Хенку Холтерману я использую rectangleF. Есть ли что-нибудь, чтобы улучшить это?
string texts;
string measureString = "123456";
Font stringFont = new Font("Arial", 18);
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont);
for (; sinirr <ViewA.RowCount ; sinirr++)
{
if (ustsin + yuk > e.MarginBounds.Bottom)
{
e.HasMorePages = true;
return;
}
if (ViewA.Rows[sinirr].Cells["itemcode"].Value.ToString().Length > 10)
{
texts = ViewA.Rows[sinirr].Cells["itemcode"].Value.ToString();
graphics.DrawString(texts, font, Brushes.Black, new RectangleF(new PointF(e.MarginBounds.Left, ustsin),stringSize));
ustsin += 2* yuk;
}