2012-04-16 5 views
4

C#クラスライブラリで作成したポップアップウィンドウにビットマップイメージを表示する必要があります。 これはどのように可能ですか?イメージをC#クラスライブラリのポップアップウィンドウに表示

私は次のことを試してみました:

 Bitmap img = tpv.Img(); 
     Graphics graphics = Graphics.FromImage(img); 
     graphics.DrawImage(img, 0, 0); 

 Bitmap img = tpv.Img(); 
     PictureBox pb = new PictureBox(); 
     pb.Size = img.Size; 
     pb.Image = img; 
     pb.Show(); 

しかしウィンドウが表示されていません。 ビットマップイメージを表示するポップアップウィンドウを作成するクラスライブラリを取得することは可能ですか?

+0

winforms、asp.net、またはWPFアプリケーションについて話していますか? – Josh

答えて

8

WinFormsを想定すると、フォームのようなトップレベルウィンドウにPictureBoxを追加する必要があります。 WPFを使用している場合は、コンセプトは同じですが、ウィンドウを表示する前にグリッドなどにピクチャボックスを追加する点が異なります。

using (Form form = new Form()) { 
    Bitmap img = tpv.Img(); 

    form.StartPosition = FormStartPosition.CenterScreen; 
    form.Size = img.Size; 

    PictureBox pb = new PictureBox(); 
    pb.Dock = DockStyle.Fill; 
    pb.Image = img; 

    form.Controls.Add(pb); 
    form.ShowDialog(); 
} 

私の例では、フォームがモーダルであることに注意してください。非モーダルフォームが必要な場合はform.Show()を呼び出し、usingブロックを削除してフォームがすぐに処理されないようにします。

しかし、より良いデザインパターンは、画像をUIに返すようにクラスライブラリメソッドを設計し、代わりにメインUIに画像を表示させることです。フレームワークAPIは、このようなUIを直接表示するべきではありません。

+0

ありがとうございました。これはGUIのない​​テストフレームワークなので、これは単なる "デバッグ" /ランダムチェックオプションです。 –

+0

うれしい私は助けになることができます。 :] –

関連する問題