gpt4 book ai didi

c# - 在 PrintPreviewControl 上显示 PrintDocument 的所有页面

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:31 25 4
gpt4 key购买 nike

我在 PrintDocument 中创建多个页面并在 PrintPreviewControl 中显示它们时遇到问题。我可以很容易地创建一个页面,但我无法将多个页面串在一起。

我最终会使用 GDI 绘制几页内容,但我无法让这样的东西按预期工作。

private PrintDocument doc = new PrintDocument();
private string[] printMe = new string[]{ "page1", "page2", "page3" );
private int pageCount = 0;

private void FormLoad(object sender, EventArgs e)
{
doc.PrintPage += new PrintPageEventHandler(PrintPage);
PrintPreviewControl.Document = doc;
}

private void doc_BeginPrint(object sender, PrintEventArgs e){ pageCount = 0; }

private void PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics;
g.DrawString(drawMe[pageCount++], "Lucida Console", Brushes.Black, new Point(20,20));

e.HasMorePages = (pageCount printMe.Length );
}

想法是创建 3 个单独的页面,并在 PrintPreview 控件中显示。我错过了什么?

最佳答案

您的代码片段恰好在您分配 e.HasMorePages 的关键点被破坏。您的代码中存在一个明显的问题:您需要实现 BeginPrint 事件处理程序以将页面计数器重置回 0。

关于c# - 在 PrintPreviewControl 上显示 PrintDocument 的所有页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com