C#打印多页
这是我的代码,当我打印一页时效果很好,但是当我尝试打印不适合一页的内容时,它不会启动新页,它只接受偏移量更改并开始在第一页上写入 有人知道该怎么做吗C#打印多页,c#,printing,C#,Printing,这是我的代码,当我打印一页时效果很好,但是当我尝试打印不适合一页的内容时,它不会启动新页,它只接受偏移量更改并开始在第一页上写入 有人知道该怎么做吗 private void printDocument_PrintPage(object sender, PrintPageEventArgs e) { Graphics graphic = e.Graphics; Font font = new Font("Courier New", 12); float fontHeig
private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics graphic = e.Graphics;
Font font = new Font("Courier New", 12);
float fontHeight = font.GetHeight();
int startX = 10;
int startY = 10;
int offset = 0;
float pageWidth = e.PageSettings.PrintableArea.Width;
float pageHeight = e.PageSettings.PrintableArea.Height;
foreach (string line in textRichTextBox.Lines)
{
graphic.DrawString(line, font, new SolidBrush(Color.Black), startX, startY + offset);
offset += (int)fontHeight;// + 5
if (offset >= pageHeight - (int)fontHeight)
{
e.HasMorePages = true;
offset = 0;
}
}
e.HasMorePages = false;
}
您使用的API错误,: 在PrintPage事件处理程序中,使用 PrintPageEventArgs类和要计算行的文档内容 每页的长度和行数。绘制完每页后,检查是否 它是最后一页,并设置的HasMorePages属性 PrintPageEventArgs将相应地显示。PrintPage事件将一直引发到 HasMorePages是假的。另外,请确保PrintPage事件是 与其事件处理方法关联
您不能在循环中设置
HasMorePages
,只能在回调退出时设置。将调用回调,直到您将HasMorePages
设置为false您使用的API错误,:
在PrintPage事件处理程序中,使用
PrintPageEventArgs类和要计算行的文档内容
每页的长度和行数。绘制完每页后,检查是否
它是最后一页,并设置的HasMorePages属性
PrintPageEventArgs将相应地显示。PrintPage事件将一直引发到
HasMorePages是假的。另外,请确保PrintPage事件是
与其事件处理方法关联
您不能在循环中设置
HasMorePages
,只能在回调退出时设置。回调将被调用,直到您将HasMorePages设置为false您需要在到达页面末尾后停止向打印机发送文本,仅将HasMorePages设置为true是不够的。您可以在此处添加一个,也可以完全更改循环,并将列表中最后处理的位置保留在某个位置。一旦到达页面末尾,您需要停止向打印机发送文本,仅将HasMorePages设置为true是不够的。您可以在此处添加一个字符串,也可以完全更改循环,并将列表中最后处理的位置保留在某个位置。因此,我做了一个中断语句,保存了其他字符串以供下次打印,现在如何继续下一次打印?另一个pD.PrintPage+=新的PrintPageEventHandler(printDocument\u PrintPage);我做了一个中断语句,保存了其他字符串以便下次打印,现在如何继续下一次打印?另一个pD.PrintPage+=新的PrintPageEventHandler(printDocument\u PrintPage);不起作用