Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
PrintDialog を使って
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=11410#CommentId31226
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
hori
 (社会人)
投稿日時
2013/11/8 16:57:31
VB2010EX を使っています。
VBから両面印刷をしたいと思い、MSのHPにあったコードを参照に下記のごとく書き
プリントダイアログでプリンターの設定をし両面印刷を試みてみましたが
2ページ目だけが片面印刷され両面印刷できません。
pg1 の e.HasMorePages = True を False にしても同じでした。
pg2 の部分のコードを消したら pg1 が印刷されます。
どこが悪いのかお分かりの方おられましたらご教授お願いいたします。
'========================================================
' Declare the PrintDocument object.
Private WithEvents docToPrint As New Printing.PrintDocument
' This method will set properties on the PrintDialog object and
' then display the dialog.
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
' Allow the user to choose the page range he or she would
' like to print.
PrintDialog1.AllowSomePages = True
' Show the help button.
PrintDialog1.ShowHelp = True
' Set the Document property to the PrintDocument for
' which the PrintPage Event has been handled. To display the
' dialog, either this property or the PrinterSettings property
' must be set
PrintDialog1.Document = docToPrint
Dim result As DialogResult = PrintDialog1.ShowDialog()
' If the result is OK then print the document.
If (result = DialogResult.OK) Then
docToPrint.Print()
End If
End Sub
' The PrintDialog will print the document
' by handling the document's PrintPage event.
Private Sub document_PrintPage(ByVal sender As Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
Handles docToPrint.PrintPage
' Insert code to render the page here.
' This code will be called when the control is drawn.
' The following code will render a simple
' message on the printed document.
'Dim text As String = "In document_PrintPage method."
'Dim printFont As New System.Drawing.Font _
' ("Arial", 35, System.Drawing.FontStyle.Regular)
'' Draw the content.
'e.Graphics.DrawString(text, printFont, _
' System.Drawing.Brushes.Black, 10, 10)
'==============pg1===============
Dim img As Image = Image.FromFile("c:test1.bmp")
e.Graphics.DrawImage(img, New Rectangle(0, 0, img.Width, img.Height))
e.HasMorePages = True
img.Dispose()
'==============pg2===============
Dim img2 As Image = Image.FromFile("c:test2.bmp")
e.Graphics.DrawImage(img2, New Rectangle(0, 0, img2.Width, img2.Height))
e.HasMorePages = False
img2.Dispose()
End Sub