Вы можете сделать свою собственную форму с выбором принтера.Свяжите установленные принтеры с выпадающим списком или чем-либо еще, используя System.Drawing.Printing.PrinterSettings
класс
foreach (string s in PrinterSettings.InstalledPrinters)
{
liste.Items.Add(s);
}
. Затем вы можете создать свой отчет с помощью этого кода (убедитесь, что для действия по созданию отчетов установлено встроенный ресурс)
LocalReport report = new LocalReport();
report.DataSources.Add(new ReportDataSource("your data source name",DataTableGoesHere);
report.ReportEmbeddedResource = "YourNameSpace.YourReportName.rdlc";
Затем следуйте этим инструкциям, чтобы напечатать локальный отчет: http://blogs.msdn.com/b/brianhartman/archive/2009/02/27/manually-printing-a-report.aspx
Убедитесь, что вы каким-то образом передаете переменную принтера для использования в класс печати.Имя принтера должно быть установлено:
printDoc.PrinterSettings.PrinterName = "installed printer chosen from combo goes here";