Following booji-boy , here is what I came up with (which I simplified for example):
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click Dim oDoc As New Printing.PrintDocument oDoc.DefaultPageSettings.Landscape = True AddHandler oDoc.PrintPage, AddressOf PrintPage oDoc.DocumentName = "Printout" InfragisticsWinGrid.PrintPreview(InfragisticsWinGrid.DisplayLayout, oDoc) End If End Sub Private Sub PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) ' Draw title e.Graphics.DrawString("Report Title"), New Font("Arial", 16), Brushes.Black, 95, 70) ' Draw footer e.Graphics.DrawImage(DirectCast(mResources.GetObject("footer_logo"), Drawing.Bitmap), 95, e.PageBounds.Height - 87) Dim drawFont As New Font("Arial", 8.75) e.Graphics.DrawString("Report Title", drawFont, Brushes.Gray, 190, e.PageBounds.Height - 90) e.Graphics.DrawString("Printed", drawFont, Brushes.Gray, 190, e.PageBounds.Height - 76) e.Graphics.DrawString("Printed By", drawFont, Brushes.Gray, 190, e.PageBounds.Height - 62) ' Draw some grid lines to add structure to the footer information e.Graphics.DrawLine(Pens.Gray, 246, e.PageBounds.Height - 90, 246, e.PageBounds.Height - 48) e.Graphics.DrawLine(Pens.Gray, 188, e.PageBounds.Height - 75, 550, e.PageBounds.Height - 75) e.Graphics.DrawLine(Pens.Gray, 188, e.PageBounds.Height - 61, 550, e.PageBounds.Height - 61) e.Graphics.DrawString("Report", drawFont, Brushes.Black, 250, e.PageBounds.Height - 90) e.Graphics.DrawString(Date.Now.ToShortDateString & " " & Date.Now.ToShortTimeString, drawFont, Brushes.Black, 250, e.PageBounds.Height - 76) e.Graphics.DrawString("Andrew", drawFont, Brushes.Black, 250, e.PageBounds.Height - 62) End Sub
I needed to play with the values โโof e.PageBounds.Height - x to draw the drawn elements into a line.
Thanks again to Booji Boy for the pointer - getting in ReportPage.Graphics () was exactly what I was after: o)