我有一个生成填充System.Drawing.Graphics对象的模块。
然后我尝试在主表单上打印一个事件,但打印预览显示为空白。
这是我的打印页面
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
是我的模块填写的公共图形对象。
答案 0 :(得分:1)
我认为问题是你必须打印到事件参数提供的Graphics对象,而不是你可能已经闲置的另一个。换句话说,您需要在e.Graphics
上绘图。 PrintPageEventArgs.Graphics的帮助页面显示了这应该如何工作。
答案 1 :(得分:0)
我找到了方法。 1.步骤:你必须以你的形式创建你的MyGraphics: ......表格声明...... 私有GrBitmap作为位图 私有GrGraphics作为图形 Dimm Withevents pd作为新的PrintDocument'事件很重要! ... 2. step:Anywhere(ig,在formload子中,或在buttonclick sub中): GrBitmap =新位图(宽度,高度) GrGraphics = Graphics.FromImage(GrBitmap) ... (您必须根据图形内容计算宽度和高度值) 步骤: 使用任何.DrawString,.DrawLine等方法完成GrGraphics 步骤: 创建Printdocument的子:
Private Sub pd_PrintPage(sender As Object,ev As PrintPageEventArgs)处理pd.PrintPage
ev.Graphics.DrawImage(Me.GrBitmap, New Point(0, 0))
End Sub