2012-04-16 74 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 2012-04-16 13:54:05

回答

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的測試框架,所以這只是一個「調試」/隨機檢查選項。 – 2012-04-17 05:52:32

+0

很高興我能幫上忙。 :] – 2012-04-17 05:55:09