列に収まるように、これらの数値を 2 行に折り返したいと思います。現在描いている
e.Graphics.DrawString(
ViewA.Rows[sn].Cells["itemcode"].Value.ToString(),
font,
Brushes.Black,
new PointF(e.MarginBounds.Left, un));
これらの文字列を 10.char から折り返すことはできますstring.length > 10
か? 例: 33435356985968 になります
3343535698
5968
編集:コードをこれに変更します。Henk Holterman のおかげで、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;
}