打印图形对象VB.NET

时间:2012-03-12 23:55:13

标签: vb.net

我有一个生成填充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是我的模块填写的公共图形对象。

2 个答案:

答案 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