DOBON.NET DOBON.NETプログラミング掲示板過去ログ

印刷プレビューから印刷ボタンを押しても印刷されない

  • 題名: 印刷プレビューから印刷ボタンを押しても印刷されない
  • 著者: ふらり
  • 日時: 2007/09/16 22:25:59
  • ID: 20499
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[VB2005 Express Edition]
分類:[(未選択)]

すみませんが、印刷について教えてください。
使用言語は VB2005 Express Edition です。
複数ページを印刷プレビューダイアログで表示はできるんですが、
そこから印刷ボタンを押しても用紙が空送りされるだけで印刷されません。
複数ページを印刷プレビューから印刷させるにはどうしたらよいのでしょうか?
簡単なサンプルを作りましたので、それが3枚に印刷できればOKです。

フォームにButton1,PrintPreviewDialog1,PrintDocument1を貼り付けて
Codeは下記の通りです。

Public Class Form1
Dim 頁数 As Integer
Dim 文字列() As String = {"aaaaaaaaaaaaa", "bbbbbbbbb", "ccccccccccccc"}
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
頁数 = 0
PrintPreviewDialog1.Document = PrintDocument1
Me.PrintPreviewDialog1.ShowDialog()
End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim フォント As Font = New Font("MS ゴシック", 8)
Do Until 頁数 = 文字列.Length
e.Graphics.DrawString(文字列(頁数).Replace(vbCrLf, " "), フォント, Brushes.Black, e.MarginBounds.Left, 100)
頁数 += 1
If 頁数 < 文字列.Length Then
e.HasMorePages = True
Return
End If
Loop
'ちなみにDo〜Loopの代わりに下記の文だとOK
'e.Graphics.DrawString(文字列(頁数).Replace(vbCrLf, " "), フォント, Brushes.Black, e.MarginBounds.Left, 100)
End Sub
End Class

DOBON.NET | プログラミング道 | プログラミング掲示板