Я делал это давно, из того, что нашел в поиске Google. Появится диалоговое окно с настройками принтера, где вы можете выбрать ландшафт перед печатью. Если память служит, Printform.PrinterSettings.DefaultPageSettings.Landscape только для чтения или имеет проблему. В любом случае, не могу вспомнить, вам нужно будет добавить PageSetupDialog и PrintDocument в форму. Затем измените свой код на это:
PageSetupDialog1.Document = PrintDocument1
If PageSetupDialog1.ShowDialog = DialogResult.OK Then
PrintForm1.PrinterSettings = PageSetupDialog1.PrinterSettings
If PrintForm1.PrinterSettings.IsValid Then
PrintForm1.Print()
End If
End If
Когда вы нажимаете кнопку1, вам будет предложено диалоговое окно настройки страницы, где вы можете выбрать альбомную ориентацию. Нажмите ОК, и ваша форма должна напечатать пейзаж.
Полагаю, если вы не хотите, чтобы диалоговое окно «Параметры страницы» можно было просто напечатать, установив для параметров PageSetupDialog1 значение «Пейзаж».
PageSetupDialog1.Document = PrintDocument1
PageSetupDialog1.PrinterSettings.DefaultPageSettings.Landscape = True
PrintForm1.PrinterSettings = PageSetupDialog1.PrinterSettings
If PrintForm1.PrinterSettings.IsValid Then
PrintForm1.Print()
End If