• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:実行時に、フォームを印刷)

WindowsXP, vb.net2005でのフォーム印刷について

このQ&Aのポイント
  • WindowsXP, vb.net2005で開発している場合、プログラム実行時にフォームを印刷する方法を知りたい。
  • フォーム上にはラベル、picturebox、panelの3種類のコントロールがあり、PrintDocumentを使用して印刷している。
  • しかし、印刷すると必ずpictureboxの画像が最前面に表示されてしまう。フォームに指定した重なり順のまま印刷する方法を知りたい。

質問者が選んだベストアンサー

  • ベストアンサー
  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.1

MSDN LibraryにDrawToBitmap()では、コンテナでは、Zオーダーの逆順になると書いてあるので、その前に、最前面に置きたいコントロールをBringToFront()で最前面にもっていき、最背面に持っていきたいものをSendToBack()で最背面にするとよいかと思います。 そして、印刷が終わったら、元に戻す処理を書くと良いと思います。

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/297changezorder/changezorder.html
mohmori77
質問者

お礼

なるほど。ありがとうございます。 コントロールを動的に追加しているので 順番を記録しておいて入れ替える処理を入れます。 全然理由がわからなかったのでとても助かりました。 ありがとうございました。

関連するQ&A