Как я могу распечатать FlowLayoutPanel в C#? - PullRequest
0 голосов
/ 30 мая 2020

Кажется, я не могу найти большой помощи по печати FlowLayoutPanels в C#

У меня в основном есть FlowLayoutPanel с несколькими панелями внутри. На каждой панели есть текстовые поля и метки.

Я хочу распечатать все содержимое flowlayoutpanel независимо от того, нужно ли вам прокручивать вниз. и у этого много страниц. Я пробовал следующее:

   private void doc_PrintPage(object sender, PrintPageEventArgs e)
    {
     Bitmap bmp = new Bitmap(flowlayoutpanel.Width, flowlayoutpanel.Height, 
     flowlayoutpanel.CreateGraphics());
     flowlayoutpanel.DrawToBitmap(bmp, new Rectangle(0, 0, flowlayoutpanel.Width, flowlayoutpanel.Height));
     RectangleF bounds = e.PageSettings.PrintableArea;
     float factor = ((float)bmp.Height / (float)bmp.Width);
     e.Graphics.DrawImage(bmp, bounds.Left, bounds.Top, bounds.Width, factor * bounds.Width);
    }

   private void btnsave_Click(object sender, EventArgs e)
        {
            PrintDocument doc = new PrintDocument();
            doc.PrintPage += new PrintPageEventHandler(doc_PrintPage);
            doc.Print();
        }

этот код печатает только некоторые панели, которые, когда scrool активен, но другая панель от кнопки не напечатана.

Извините за мой engli sh.

...