首页 > 解决方案 > 如何打印带有图片框和标签的面板?

问题描述

我有一个Panel正好有 4 个图片框,里面有标签。我想打印里面的所有内容,Panel但它只显示两个图片框 - 在预览中。

我有这个:

在此处输入图像描述

但它只显示这个(我点击打印按钮时):

在此处输入图像描述

这是我的打印代码:

private void BtnPrint_Click(object sender, EventArgs e)
    {
        Print(this.pnlID);
    }

    public void Print(Panel pnl)
    {
        PrinterSettings ps = new PrinterSettings();
        pnlID = pnl;
        GetPrintArea(pnl);
        prntprvw.Document = printdoc;
        printdoc.PrintPage += new PrintPageEventHandler(printdoc_printpage);
        prntprvw.ShowDialog();

    }

    public void printdoc_printpage(Object sender, PrintPageEventArgs e)
    {
        Rectangle pagearea = e.PageBounds;
        e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlID.Width / 2), this.pnlID.Location.Y);
    }


    Bitmap MemoryImage;
    public void GetPrintArea(Panel pnl)
    {
        MemoryImage = new Bitmap(pnl.Width, pnl.Height);
        //Rectangle rect = new Rectangle(0, 0, pnl.Width, pnl.Height);
        pnl.DrawToBitmap(MemoryImage, new Rectangle(0, 0, pnl.Width, pnl.Height));
    }

如何打印面板内的所有内容?

标签: c#winforms

解决方案


推荐阅读