Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VB.NET中打印图形对象_Vb.net - Fatal编程技术网

在VB.NET中打印图形对象

在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

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

我认为问题在于您必须打印到事件参数提供的图形对象,而不是您可能挂起的另一个图形对象。换句话说,您需要使用
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()来查看某些内容。