C# 如何在C中打印多页#

C# 如何在C中打印多页#,c#,datagridview,C#,Datagridview,我有一个带有标签和datagridview的表单,我想打印内容。为此,我写了以下内容: int i = 0; while(i < DataGridView1.Rows.Count) { e.Graphics.DrawLine(Pen, new Point(818, y), new Point(818, y + 35)); e.Graphics.DrawString(DataGridView1.Rows[i].Cells[0].Value.ToString(), new Fo

我有一个带有标签和datagridview的表单,我想打印内容。为此,我写了以下内容:

int i = 0;
while(i < DataGridView1.Rows.Count)
{
    e.Graphics.DrawLine(Pen, new Point(818, y), new Point(818, y + 35));
    e.Graphics.DrawString(DataGridView1.Rows[i].Cells[0].Value.ToString(), new Font("Arial", 16, FontStyle.Bold), Brushes.Black, new Point(770, y + 7), format1);
    y += 35;
    if (y > e.PageBounds.Height - 25)
    {
        y = 50;
        e.HasMorePages = true;
        return;
    }
    else
    {
        e.HasMorePages = false;
    }
    i++;
}
inti=0;
while(ie.PageBounds.Height-25)
{
y=50;
e、 HasMorePages=true;
返回;
}
其他的
{
e、 HasMorePages=false;
}
i++;
}
当只有一个页面,但随后的页面是第一个页面的副本时,它可以工作。当我删除
return
语句时,我只在一页上获取所有数据


如何解决此问题?

I
的声明移到该打印方法之外,以便下次再次进入打印方法时,它将从停止的位置开始。谢谢。问题解决了。