![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
WindowsXP, vb.net2005で開発しております。
プログラム実行時にフォームを印刷したいと考えております。
フォーム上には下記の3種類のコントロールが貼り付けてあります。
ラベル、
picturebox(イメージを表示)、
panel(バーコードを表示)
印刷はPrintDocumentを使用しています。
フォームをキャプチャーし、画像を印刷するようにしています。
印刷を行うと、必ずpictureboxの画像が最前面に表示されてしまいます。
フォームに指定した重なり順のまま印刷するにはどうすればよいのでしょうか?
以下、PrintDocument のPrintPageのソースです。
Private Sub pd_PrintPage(
ByVal sender As System.Object,
ByVal e As System.Drawing.Printing.PrintPageEventArgs)
Handles pd.PrintPage
'コントロールの外観を描画するBitmapの作成
Dim bmp As New Bitmap(Me.Size.Width, Me.Size.Height)
'キャプチャする
Me.DrawToBitmap(bmp,
New Rectangle(0, 0, Me.Size.Width,
Me.Size.Height))
'画像を描画する
e.Graphics.DrawImage(bmp, 0, 0, e.PageBounds.Width,
e.PageBounds.Height)
'後始末
bmp.Dispose()
'次のページがないことを通知する
e.HasMorePages = False
End Sub
No.1ベストアンサー
- 回答日時:
MSDN LibraryにDrawToBitmap()では、コンテナでは、Zオーダーの逆順になると書いてあるので、その前に、最前面に置きたいコントロールをBringToFront()で最前面にもっていき、最背面に持っていきたいものをSendToBack()で最背面にするとよいかと思います。
そして、印刷が終わったら、元に戻す処理を書くと良いと思います。
参考URL:http://www.atmarkit.co.jp/fdotnet/dotnettips/297 …
なるほど。ありがとうございます。
コントロールを動的に追加しているので
順番を記録しておいて入れ替える処理を入れます。
全然理由がわからなかったのでとても助かりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- プリンタ・スキャナー 2台のプリンターでそれぞれ異なる様式の帳票を印刷したい。 2 2022/09/06 10:07
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Excel(エクセル) エクセルの印刷マクロについて質問があります。 現在、下記のマクロで印刷しています。Sheet1のD6 5 2023/06/12 10:59
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで印刷の成功判定
-
PDFファイルを印刷し終了するには
-
vbaでPDFファイルが印刷されない
-
印刷ダイアログを表示させない方法
-
VB6からのエクセルの印刷品...
-
PHPでPDFファイルの直接印刷
-
Eclipseを使ってソースを印刷し...
-
サーバーで作成したPDFを直接印...
-
プリンタの印刷ジョブを削除し...
-
Excel VBA オブジェクトが必要...
-
VB.NETで罫線付きのデータを印...
-
VBからプリンタに出力する時に...
-
フォームを印刷するには
-
イベントプロシージャ 印刷が...
-
テキストファイル印刷 .net VB...
-
プリンターを指定して印刷するには
-
Accessフォームで全レコードを...
-
webページの印刷制限について
-
C++Builder5で画像データを用紙...
-
ActiveReportsを使って[印刷ダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷要求順番と印刷出力順番が...
-
印刷ダイアログを表示させない方法
-
ActiveReportsを使って[印刷ダ...
-
印刷ダイアログを表示させたくない
-
プリンターを指定して印刷するには
-
PDFファイルを印刷し終了するには
-
vbaでPDFファイルが印刷されない
-
VBscriptでPDFファイルを直接印...
-
VBからのプリンタ制御について
-
ACCESSで設定した帳票の用紙サ...
-
イベントプロシージャ 印刷が...
-
VBSでExcelファイル印刷時のプ...
-
phpでの自動印刷
-
VBAにて指定したセルをプルダウ...
-
EXCELファイルの複数ダウンロー...
-
VBAで印刷スプール終了の判定を...
-
プリンタの印刷ジョブを削除し...
-
PHPでPDFファイルの直接印刷
-
A4の2枚をA3の1枚にする編集方法?
-
VBでExcel印刷する時のプリンタ...
おすすめ情報