title: Print and Preview DataGridView in Landscape format
body: <pre><code> Private Sub btnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPreview.Click
      preview.PrintPreviewControl.Zoom = 1
      preview.Document = print
      print.PrinterSettings.DefaultPageSettings.Landscape = True
      preview.Show()
  
      AddHandler print.PrintPage, AddressOf print_PrintPage
  
  End Sub
  
  Protected Sub print_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
      Dim ColumnCount As Integer = DataGridView1.ColumnCount
      Dim RowCount As Integer = DataGridView1.RowCount
  
      Dim CellTopPos As Integer = print.PrinterSettings.DefaultPageSettings.Margins.Top
  
      For Row = 0 To RowCount - 1
  
          Dim CellLeftPos As Integer = print.PrinterSettings.DefaultPageSettings.Margins.Left
  
          For Cell = 0 To ColumnCount - 1
  
              Dim CellValue As String = DataGridView1.Rows(Row).Cells(Cell).Value.ToString()
              Dim CellWidth = DataGridView1.Rows(Row).Cells(Cell).Size.Width + 50
              Dim CellHeight = DataGridView1.Rows(Row).Cells(Cell).Size.Height
  
              Dim Brush As New SolidBrush(Color.Black)
              e.Graphics.DrawString(CellValue, New Font("Century Gothic", 10), Brush, CellLeftPos, CellTopPos)
              e.Graphics.DrawRectangle(Pens.Black, CellLeftPos, CellTopPos, CellWidth, CellHeight)
  
              CellLeftPos += CellWidth
          Next
  
          CellTopPos += DataGridView1.Rows(Row).Cells(0).Size.Height
      Next
  
  End Sub
  </code></pre>
  
  <p>This is my code for previewing and printing the contents of my datagridview. I tried using the DefaultPageSettings code but it doesn't work. Im also trying to print it in centered format</p>