我需要一些帮助。我的要求是,当用户点击打印按钮时,它应该显示一个打印预览对话框。如果用户取消或关闭预览对话框,则表单必须返回到原始表单。
我面临的问题是打印预览对话框是可见的。但我不知道如何捕捉打印预览工具点击事件。
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();
}
DialogResult在带有打印对话框的showdialog()中不受支持。
所以工作方式是正确的还是错误的
PrintDialog pri = new PrintDialog();
if (pri.ShowDialog() == true)
{
pri.PrintQueue.AddJob(fileName, fileName,false);
}
else
{
return;
}
你也可以不使用pri。将对话框()显示为if语句,该语句也已调用该方法。