2012-05-10 48 views
1

打開一個圖像我在在新形式的C#

picShowPicture.Image = Image.FromFile(textbox1.Text) 

一個圖像顯示在圖像顯示了當用戶從數據庫中選擇一個圖像是我想要的是在主屏幕上的那一刻,它然後在新窗口打開?

這是如何完成的?

回答

2

我要作一個假設,通過「從數據庫中選擇一個像」不意味着你(反)序列化的BLOB,只是想代碼,使圖像顯示一個新窗口。我將進一步假設你的項目中有一個名爲「Form2」的第二個表單,它帶有一個名爲「picImageViewerOnForm2」的圖像查看器。

var newImage = Image.FromFile(textbox1.Text);
var newForm = new Form2();

newForm.picImageViewerOnForm2.Image = newImage;
newForm.Show();

3

在Designer中創建一個新窗體並在其中選擇一個PictureBox。並創建一個特殊的方法,例如

public void SetPicture(Image image) 

這將設置圖像到PictureBox。

而且在選擇圖片通話

YourForm form = new TourForm(); 
form.SetPicture(Image.FromFile(textbox1.Text)); 
form.ShowDialog(); 

或者你可以dinamically創造新的形式:

Form form = new Form(); 

PictureBox pictureBox = new PictureBox(); 
pictureBox.Dock = DockStyle.Fill; 
pictureBox.Image = Image.FromFile(textbox1.Text); 
pictureBox.SizeMode = PictureBoxSizeMode.StretchImage; 
form.Controls.Add(pictureBox); 

form.ShowDialog(); 
+0

它加載了一個新的窗體,但沒有圖片。 –

+0

您可以添加新創建的表單的代碼以及它正在創建和顯示的代碼。 – igofed

+0

我剛剛從這個例子中直接複製,當我點擊按鈕時,一個新的窗體打開時沒有任何內容。 –

0

創建一個新的表(從System.Windows.Forms.Form中派生新類)接受圖像路徑作爲構造函數。

說新形式是ImageForm。在此窗體中創建PictureBox。

在功能ShowImageWindow

(或主要形式類似),呼叫像以下

ImageForm imageForm = new ImageForm(textbox1.Text) 
imageForm.ShowDialog() 

在ImageForm的構造函數,設置圖像到PictureBox控件內ImageForm

public ImageForm(String imagePath) 
{ 
    pictureBox1.Image = Image.FromFile(imagePath); 
} 
0
  1. 創建一個只有圖片框的新表單。

  2. 然後當形成對象傳遞圖像作爲參數(當然,你必須創建一個參數化的表單的構造函數),並將該圖像傳遞給全局圖像變量。

  3. 在Form_Load中,將全局圖像變量設置爲圖像控制圖像。

0

一個新的Windows窗體添加到您的項目,名爲 「ShowImageWindow」。 一個PictureBox添加到窗口,下面的代碼:

public Image ImageToShow { get; set; } 


public ShowImageWindow() 
{ 
    InitializeComponent(); 
} 

private void ShowImageWindow_Load(object sender, EventArgs e) 
{ 
    pictureBox1.Image = ImageToShow; 
} 

然後創建並顯示如下窗口:

Image img = Image.FromFile(textBox1.Text); 
ShowImageWindow frm = new ShowImageWindow(); 
frm.ImageToShow = img; 
frm.ShowDialog(); 
frm.Dispose(); 
1

添加窗體應用程序,並把圖片框就可以了,讓我們說,ID圖片框的是「pictureBox1」,然後在該表格上創建公共性態訪問承受力框,就像這樣:

public partial class ShowPictureForm : Form 
{ 
    public PictureBox ImagePictureBox { get { return this.pictureBox1; } } 

    public ShowPictureForm() 
    { 
    InitializeComponent(); 
    } 
} 

則表明,新的形式是這樣的:

ShowPictureForm spf = new ShowPictureForm(); 
spf.ImagePictureBox.Image.FromFile(textbox1.Text) 
spf.ShowDialog(); 
+0

說由於保護級別 –

+0

什麼行是錯誤無法訪問? –

+0

在picturebox1上 –