vb.net - 正确使用 PrintPreview 对话框

标签 vb.net printing print-preview

这是我第一次必须使用打印预览,我很困惑,所以我需要一个建议:

enter image description here

这是我要打印的对话框:

这是它目前在我的打印预览对话框中的样子(搞砸了): enter image description here

这是我现在的完整代码:

Public Class frmPRINT

Private Sub btnPrint_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    PrintDocument1.Print()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

    Dim bm As New Bitmap(DataGridView1.Width, DataGridView1.Height)
    DataGridView1.DrawToBitmap(bm, New Rectangle(0, 0, DataGridView1.Width, DataGridView1.Height))
    e.Graphics.DrawImage(bm, 0, 0)

End Sub

Private Sub btnPrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintPreview.Click

    PrintPreviewDialog1.WindowState = FormWindowState.Normal
    PrintPreviewDialog1.StartPosition = FormStartPosition.CenterScreen
    PrintPreviewDialog1.ClientSize = New Size(600, 600)

    PrintPreviewDialog1.Document = PrintDocument1
    PrintPreviewDialog1.ShowDialog()
End Sub
End Class

请问我该如何正确设置?

最佳答案

将页面方向设置为横向

printDocument1.DefaultPageSettings.Landscape = true

有关详细信息,请参阅 PrintDocument.DefaultPaperSettings 上的 MSDN 文档.

关于vb.net - 正确使用 PrintPreview 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782735/

相关文章:

.net - 关于组合框的问题

c# - 跨浏览器打印 View

C 编程、堆栈、打印堆栈错误

winforms - 按下 ESC 时关闭 PrintPreviewDialog

html - 需要测试 IE8 的打印功能

c++ - 推荐一个生成打印预览和打印的方案

c# - 如何为应用程序设置样式,以便所有控件均显示在应用程序的配色方案中

excel - 使用 Excel VBA 进行套接字连接

vb.net - 内联初始化、设置和返回结构?

c - 按数据包计数的升序打印输出