【发布时间】:2015-03-01 09:26:44
【问题描述】:
我需要一些帮助。 我的要求是当用户单击打印按钮时,它应该显示一个打印预览对话框。 如果用户取消或关闭预览对话框,表单必须恢复原状。
我面临的问题是打印预览对话框可见。但我不知道如何捕捉打印预览工具的点击事件。
public void print()
{
PrintDialog pd = new PrintDialog();
PrintDocument pdoc = new PrintDocument();
PrinterSettings ps = new PrinterSettings();
PaperSize psize = new PaperSize();
pdoc.DefaultPageSettings.Landscape = false;
pd.Document = pdoc;
pd.Document.DefaultPageSettings.PaperSize = psize;
pdoc.PrintPage += new PrintPageEventHandler(pdoc_PrintPage);
DialogResult result = pd.ShowDialog();
if (result == DialogResult.OK)
{
PrintPreviewDialog ppd = new PrintPreviewDialog();
ppd.Document = pdoc;
ppd.ShowDialog();
pdoc.Print();
}
}
如果我将 PrintPreviewDialog 代码放在 pd.ShowDialog() 之前,在预览模式下什么都看不到。 这不起作用
PrintPreviewDialog ppd = new PrintPreviewDialog();
ppd.Document = pdoc;
ppd.ShowDialog();
DialogResult result = pd.ShowDialog();
if (result == DialogResult.OK)
{
pdoc.Print();
}
【问题讨论】:
-
单击对话框中的打印工具栏按钮以获取打印输出。如果您不喜欢它的工作方式,请使用 PrintPreviewControl 创建自己的对话框。
-
打印后再次显示打印对话框,因为 pdoc.Print();正在执行