VB Code:
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As System.Drawing.Printing.PrintPageEventArgs)
Dim rowCount As Integer = 3 'The number of rows into which to divide the printed page
Dim colCount As Integer = 2 'The number of columns into which to divide the printed page
Dim regions(rowCount - 1, colCount - 1) As RectangleF 'The regions of the printed page.
Dim regionHeight As Single = Convert.ToSingle(e.MarginBounds.Height / rowCount) 'The height of each region.
Dim regionWidth As Single = Convert.ToSingle(e.MarginBounds.Width / colCount) 'The width of each region.
For rowIndex As Integer = 0 To regions.GetUpperBound(0) Step 1
For colIndex As Integer = 0 To regions.GetUpperBound(1) Step 1
regions(rowIndex, colIndex) = New RectangleF(ev.MarginBounds.X + rowIndex * regionWidth, _
ev.MarginBounds.Y + colIndex * regionHeight, _
regionWidth, _
regionHeight)
Next colIndex
Next rowIndex
End Sub