我有以下代码来打开一个打印机对话框,但无论我选择什么打印机,它总是打印到默认打印机。
如何分配用户选择的打印机? (从对话框窗口)
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();
}
答案 0 :(得分:7)
在调用ShowDialog()之前,需要将PrintDocument分配给PrintDialog。
答案 1 :(得分:2)
我相信您需要使用PrintDialog实例中的PrinterSettings属性,并在您创建的PrintDocument实例中设置适当的值。
换句话说:
pd.PrinterSettings = pdlg.PrinterSettings;