如何将多个页面添加到打印预览

时间:2018-07-20 21:35:52

标签: c# .net winforms

我正在制作一个程序,该程序可以捕获多种形式的屏幕快照并将其存储到位图中。当我要预览这些位图以进行打印时,问题就来了。我想将这些表格显示在一个有几个页面的印刷对话中。这是我当前无法使用的代码

    private void ButtonFinalPrint_Click(object sender, EventArgs e)
    {
        foreach (Image img in bmplist)
        {
            index++;
            PrintDocument pd = new PrintDocument();
            pd.PrintPage += PrintPage;
            pd.Print();
        }
    }

    private void PrintPage(object sender, PrintPageEventArgs e)
    {
        Image img = bmplist[index];
        Point loc = new Point(100, 100);
        e.Graphics.DrawImage(img, loc);
    }

我将bmplist作为实例变量。非常感谢你,伙计!

1 个答案:

答案 0 :(得分:1)

您不需要循环。

<youruser>

使用HasMorePages属性确定例程是否再次被调用:

private void ButtonFinalPrint_Click(object sender, EventArgs e)
{
  index = 0;
  PrintDocument pd = new PrintDocument();
  pd.PrintPage += PrintPage;
  pd.Print();
}