Private Sub btnPrint_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnPrint.Click "---show preview--- Dim dlg As New PrintPreviewDialog() With dlg .Document = printDoc .ShowDialog() End With End Sub위의 코드는 분리된 윈도우에 출력물을 미리 보여줍니다. 여기에서 프린터 아이콘을 클릭하면 프린터로 인쇄할 수 있습니다. 또한 페이지를 확대하거나 한 화면에 여러 페이지를 볼 수도 있습니다. (그림 4)
Private Sub _beginPrint( _ ByVal sender As Object, _ ByVal e As PrintEventArgs) "---initialize the page counter--- pagecounter = CInt(txtFrom.Text) "---initialize the fonts--- f_title = New Font("Arial", 16, FontStyle.Bold) f_body = New Font("Times New Roman", 10) End SubPrintPage 이벤트 핸들러에서 인쇄할 페이지가 더 있는지 여부를 결정합니다. 만약 있다면 PrintPageEventArgs 클래스의 HasMorePages 프로퍼티를 True로 설정하여 PrintPage 이벤트 핸들러가 다시 한번 호출되게 합니다. 더 인쇄할 페이지가 남아있지 않다면 HasMorePages를 False로 설정합니다.
Private Sub _printPage( _ ByVal sender As Object, _ ByVal e As PrintPageEventArgs) ... "---increments the page counter--- pagecounter += 1 "---determine if you have more pages to print--- If pagecounter <= txtTo.Text Then e.HasMorePages = True Else e.HasMorePages = False End If End Sub[그림 6]은 사용자가 2쪽부터 5쪽까지 선택하고 2쪽부터 출력물이 시작되는 것을 보여 줍니다. 미리보기 창 오른쪽 위에 있는 위/아래 화살표를 클릭 해 다른 페이지로 이동시킬 수 있습니다.
Private Sub btnPrint_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnPrint.Click "---let user select a printer to print--- Dim pd As New PrintDialog With pd .Document = printDoc .AllowSomePages = True End With Dim result As DialogResult = pd.ShowDialog() If result = Windows.Forms.DialogResult.OK Then printDoc.Print() End If End SubPrintDialog 클래스가 보여질 때 어떻게 나오는가를 [그림7]에서 볼 수 있습니다.
Dim pd As New PrintDialog With pd .Document = printDoc .AllowSomePages = True .PrinterSettings.Copies = 3 .PrinterSettings.FromPage = 2 .PrinterSettings.ToPage = 5 End With[그림 8]에서 보면 설정한 디폴트 값들이 나오는 것을 확인할 수 있습니다.
Private Sub _endPrint( _ ByVal sender As Object, _ ByVal e As PrintEventArgs) "---de-reference the fonts--- f_title = Nothing f_body = Nothing MessageBox.Show(printDoc.DocumentName & _ " has finished printing.") End Sub페이지 설정하기
Private Sub btnPageSetup_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnPageSetup.Click Dim pageSetup As New PageSetupDialog With pageSetup .PageSettings = printDoc.DefaultPageSettings .ShowDialog() End With End SubPageSetupDialog 클래스가 보여질 때 어떻게 나오는가를 [그림10]에서 볼 수 있습니다.
최신 콘텐츠