在VB.NET中打印图形对象
我有一个模块,可以生成并填写System.Drawing.Graphics对象 然后我尝试在我的主窗体上打印一个事件,但是打印预览显示为空白 这是我的打印页在VB.NET中打印图形对象,vb.net,Vb.net,我有一个模块,可以生成并填写System.Drawing.Graphics对象 然后我尝试在我的主窗体上打印一个事件,但是打印预览显示为空白 这是我的打印页 Private Sub MyPrintDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles MyPrintDocument.PrintPage Di
Private Sub MyPrintDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles MyPrintDocument.PrintPage
Dim MyGraphic As Graphics
MyPrintDocument.PrinterSettings.DefaultPageSettings.Margins.Top = 200
MyPrintDocument.PrinterSettings.DefaultPageSettings.Margins.Left = 100
MyPrintDocument.PrinterSettings.DefaultPageSettings.Margins.Right = 100
MyPrintDocument.PrinterSettings.DefaultPageSettings.Margins.Bottom = 75
MyGraphic = MyGrpahicPage
End Sub
MyGrpahicPage
是我的模块填写的公共图形对象。我认为问题在于您必须打印到事件参数提供的图形对象,而不是您可能挂起的另一个图形对象。换句话说,您需要使用e.Graphics
。的“帮助”页面显示了这应该如何工作。我找到了方法。
1.步骤:您必须在表单中创建MyGraphics:
... 表格声明。。。
私有位图作为位图
作为图形的专用图形
Dimm Withevents pd作为新的打印文档“Withevents非常重要!
...
2.步骤:任意位置(ig、formload sub或按钮Click sub中):
GrBitmap=新位图(宽度、高度)
GrGraphics=Graphics.FromImage(GrBitmap)
...
(必须根据图形内容计算的宽度和高度值)
3.步骤:
使用任何.DrawString、.DrawLine等方法完成GrGraphics
4.步骤:
创建Printdocument的子文档:
私有子pd_PrintPage(发送方作为对象,ev作为PrintPageEventArgs)处理pd.PrintPage
ev.Graphics.DrawImage(Me.GrBitmap, New Point(0, 0))
End Sub您没有绘制任何内容。例如,使用e.Graphics.DrawLine()来查看某些内容。