Проблема печати в приложении C # windows - Всегда печатает на принтере по умолчанию - PullRequest
1 голос
/ 23 февраля 2010

У меня есть следующий код для вызова диалогового окна принтера, но независимо от того, какой принтер я выбрал, он всегда печатает на принтер по умолчанию.

Как назначить пользователям выбранный принтер? (из диалогового окна)

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 ]

7 голосов
/ 23 февраля 2010

Вам необходимо назначить PrintDocument для PrintDialog перед вызовом ShowDialog ().

2 голосов
/ 23 февраля 2010

Я считаю, что вам нужно использовать свойство PrinterSettings из экземпляра PrintDialog и установить соответствующие значения в созданном экземпляре PrintDocument.

Другими словами:

pd.PrinterSettings = pdlg.PrinterSettings;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...