I did this along time ago from something I found on a Google search. It will give you a printersettings dialog where you can select landscape before printing. If memory serves, the Printform.PrinterSettings.DefaultPageSettings.Landscape is read only or has an issue. Can't remember, anyway, you will need to add a PageSetupDialog and a PrintDocument to the form. Then change your code to this:
PageSetupDialog1.Document = PrintDocument1
If PageSetupDialog1.ShowDialog = DialogResult.OK Then
PrintForm1.PrinterSettings = PageSetupDialog1.PrinterSettings
If PrintForm1.PrinterSettings.IsValid Then
PrintForm1.Print()
End If
End If
When you click your button1, you should be prompted with a page setup dialog where you can select landscape. Click OK and your form should print landscape.
I Guess if you don't want the Page Setup dialog, you could just have it print by setting the PageSetupDialog1's settings to Landscape.
PageSetupDialog1.Document = PrintDocument1
PageSetupDialog1.PrinterSettings.DefaultPageSettings.Landscape = True
PrintForm1.PrinterSettings = PageSetupDialog1.PrinterSettings
If PrintForm1.PrinterSettings.IsValid Then
PrintForm1.Print()
End If