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

DataGridViewの中身を画像で出力したい

環境/言語:[WindowsXP,C#]
分類:[.NET]

はじめまして。

VisualStudio 2010 C#で、Windowsアプリを作成しています。

Form上に、DataGridViewが表示されており、その状態の画面を画像で保存したいです。

最初は、こちらのサイトの「フォームやコントロールの外観をキャプチャする」
(http://dobon.net/vb/dotnet/graphics/invokepaint.html)
を参考に作成していたのですが、
DataGridViewにスクロールが発生した時、見えない部分が真っ白で保存されてしまい…
保存する時に、DataGridViewをスクロールが発生しないサイズまで広げてみたのですが、PCの画面からはみでた部分は出力されませんでした。

画像保存したい内容は、
・Form上のテキストボックスに入力された文字列
・画面表示時に一覧表示される内容
の2点です。

画面のキャプチャでなく、入力された文字列+DataGridのDataSourceの表形式
を画像に出力できれば良いのですが・・・
何か良い方法はないでしょうか??

よろしくお願いいたします。
> DataGridViewにスクロールが発生した時、見えない部分が真っ白で保存されてしまい…
> 保存する時に、DataGridViewをスクロールが発生しないサイズまで広げてみたのですが、PCの画面からはみでた部分は出力されませんでした。

  もうレポートツールを使って表形式で出力するしかない
  でしょう。

  あと、仮想プリンタードライバー使って(フリーもの)
  プリンターへの印字で、画像ファイルに保存できるもの
  がありますので、組み合わせれば、欲しい機能はできま
  す。

  尚、テキストボックスの内容もレポート中の固定項目に
  出力することもできますので、問題なしです。

以上。参考まで
■No31136に返信(yumenekoさんの記事)

座標計算してGraphicsに
DrawString,DrawLine,DrawRectangle
すれば一応できます。

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