Page Settings

You may have noticed that both the MarginBounds and the PageSettings properties of the PrintPageEventArgs class are read-only. Changing PageSettings on-the-fly (including the margins) requires handling the print document's QueryPageSettings event:

Sub printDocument1_QueryPageSettings(sender As Object, _
  e As QueryPageSettingsEventArgs)
  ' Set margins to 0.5" all the way around
  ' (measured in 100ths of an inch)
  e.PageSettings.Margins = New Margins(50, 50, 50, 50)
End Sub

QueryPageSettingsEventArgs provides only a Cancel property and a PageSettings property. The latter is an instance of the PageSettings class:

 Class PageSetings Implements ICloneable ' Constructors Public Overloads Sub New() Public Overloads Sub New(printerSettings ...

Get Windows Forms Programming in Visual Basic .NET now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.