2012-03-12 96 views
0

我有一個模塊,生成填寫一個System.Drawing.Graphics對象。打印一個圖形對象VB.NET

然後我嘗試在主表單上打印一個事件,但打印預覽空白。

這是我的打印頁

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

你沒有畫任何東西。使用,比如e.Graphics.DrawLine()來查看一些東西。 – 2012-03-13 01:08:02

回答

1

我認爲問題在於你必須打印到事件參數提供的Graphics對象,而不是另一個你可能會在附近打印的對象。換句話說,你需要借鑑e.GraphicsPrintPageEventArgs.Graphics的幫助頁面顯示了這應該如何工作。

0

我找到了方法。 1步:你必須創建你的表單中的MyGraphics: ...表格申報... 私人GrBitmap爲位圖 私人GrGraphics作爲圖形 DIMM WITHEVENTS Pd爲新的PrintDocument「的WITHEVENTS是很重要的! ... 2.步驟:任何(IG,在formload子,或在子buttonclick): GrBitmap =新位圖(寬度,高度) GrGraphics = Graphics.FromImage(GrBitmap) ... (寬度和高度值必須通過圖形的內容) 3步計算: 任何.DrawString,.DrawLine等方法完成GrGraphics 4步: 創建的PrintDocument的子:

Private Sub pd_PrintPage(sender As Object,ev As PrintPageEventArgs)Handles pd.PrintPage

ev.Graphics.DrawImage(Me.GrBitmap, New Point(0, 0)) 

End Sub