PrintPreview + PrintDialog C#

时间:2016-08-10 08:44:59

标签: c# printing preview printdialog

如何显示类似enter image description here

的打印对话框 单击预览对话框中的打印按钮时,在预览对话框中

。 我不知道,因为当我点击打印按钮时,它只显示enter image description here

谢谢。我搜索了互联网上的所有内容但却做不到。

2 个答案:

答案 0 :(得分:0)

使用PrintDialog对我来说很好......

new PrintDialog().ShowDialog();

我认为你实际使用的是:

printDocument1.Print();

但是这不会显示你要使用的对话框;)

答案 1 :(得分:0)

这是设计使然。 PrintPreview对话框使用Windows默认打印机。它必须知道要使用什么打印机驱动程序来渲染图像。 “打印”对话框允许您更改打印机和设置。您无法在PrintPreview中更改打印机或设置,但是以下解决方案通过首先显示“打印”对话框然后显示“ PrintPreview”来解决该问题,尽管我自己尚未测试代码。 How to present print settings from print preview?以下是他们在此解决方案中提供的示例代码:

private void previewButton_Click(object sender, EventArgs e)
{
    PrintDialog printDialog = new PrintDialog();
    if (DialogResult.OK == printDialog.ShowDialog())
        {
             PrintPreviewDialog printPreview = new PrintPreviewDialog();
             printPreview.Document = printIssues;

             // this is were you take the printersettings from the printDialog
             printPreview.Document.PrinterSettings = printDialog.PrinterSettings;

             printIssues.DefaultPageSettings.Landscape = true;
             printPreview.ShowDialog();         
        }  
}