C#windows app中的打印问题 - 始终打印到默认打印机

时间:2010-02-23 20:19:33

标签: c# .net winforms printing

我有以下代码来打开一个打印机对话框,但无论我选择什么打印机,它总是打印到默认打印机。

如何分配用户选择的打印机? (从对话框窗口)

PrintDialog pdlg = new PrintDialog();

// Show the PrintDialog
if (pdlg.ShowDialog() == DialogResult.OK)
{
   PrintDocument pd = new PrintDocument();
   pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);

   // Associate PrintDocument object with the PrintDialog
   pdlg.Document = pd;

   // Print with the new PrinterSettings
   pd.Print();
}

2 个答案:

答案 0 :(得分:7)

在调用ShowDialog()之前,需要将PrintDocument分配给PrintDialog。

答案 1 :(得分:2)

我相信您需要使用PrintDialog实例中的PrinterSettings属性,并在您创建的PrintDocument实例中设置适当的值。

换句话说:

pd.PrinterSettings = pdlg.PrinterSettings;