Посмотрите на ReportDocument.PrintToPrinter SAP Docs или MSDN Docs , чтобы узнать, как указать PrinterName, а затем выполнить печать с использованием объекта ReportDocument.
Если выможет попытаться уйти от того, как пользовательский интерфейс приложения FoxPro для выбора принтера.Вместо этого используйте стандартное диалоговое окно печати для выбора принтера.
Следует иметь в виду, что если вы не зададите имя принтера до отправки отчета на принтер, оно будет использовать значение по умолчанию нахрустальный файл.Не путать с принтером по умолчанию для операционной системы пользователя.
Ниже приведен пример показа параметров PrintDialog некоторых параметров с использованием метода SetParameterValue и последующей отправки документа отчета на принтер
// Note: untested
var dialog = new PrintDialog();
Nullable<bool> print = dialog.ShowDialog();
if (print.HasValue && print.Value)
{
var rd = new ReportDocument();
rd.Load("ReportFile.rpt");
rd.SetParameter("Parameter1", "abc");
rd.SetParameter("Parameter2", "foo");
rd.PrintOptions.PrinterName = dialog.PrinterSettings.PrinterName;
rd.PrintToPrinter(1, false, 0, 0);
}