Как я могу обернуть строки во время печати?

Я хочу обернуть эти числа в две строки, чтобы поместиться в столбце. в настоящее время рисует с

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;
                  }

0 ответов

Другие вопросы по тегам