如何打印带有图片框和标签的面板?

问题描述 投票:0回答:1

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

我有这个:

enter image description here

但是仅显示此内容(when,我单击print按钮):

enter image description here

这是我的打印代码:

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
1个回答
0
投票

我已经解决了在this thread中打印的所有问题。非常感谢您的所有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.