2013-08-30 2 views
0

Windows 양식을 인쇄하려고합니다. 양식이 최대화되면 이미지가 페이지 위로 실행됩니다. 나는 Me.WindowState = FormWindowState.Normal to 인쇄 할 수 있습니다.하지만 이것이 최선의 방법은 아님을 압니다. 사용자가 양식 크기를 변경할 수 있기 때문에 "페이지에 맞추기"더 좋은 방법이 있습니까?비트 맵 넘김 페이지 인쇄

Private Sub PrintToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles PrintToolStripMenuItem.Click 
    Dim ppd As PrintPreviewDialog = New PrintPreviewDialog() 

    ppd.Document = New Printing.PrintDocument() 

    AddHandler ppd.Document.PrintPage, AddressOf Document_PrintPage 
    ppd.Document.DefaultPageSettings.Landscape = True 

    ppd.ShowDialog() 
End Sub 
Private Sub Document_PrintPage(ByVal sender As Object, ByVal e As Printing.PrintPageEventArgs) 

    Dim bt As Bitmap = New Bitmap(Me.Width, Me.Height) 

    Me.DrawToBitmap(bt, New Rectangle(0, 0, Me.Width, Me.Height)) 

    e.Graphics.DrawImage(bt, 0, 0) 
     End Sub 

답변

0

누구나 동일한 문제가있는 경우 더 잘 작동하는 것 같습니다.

e.Graphics.DrawImage(bt, 0, 0, e.PageBounds.Width, e.PageBounds.Height)