2012-05-10 21 views
0

我有一個數據庫鏈接到我的c#應用程序。當用戶點擊視圖時,switch語句檢查文件類型是什麼,顯示relvant查看器。當它的圖像我想要打開一個新的窗體並顯示這個圖像。圖像保存在varribale ofdSelectPicture,我已經在新的形式打開一個新窗體並從數據庫打開保存的圖像文件c#

picShowPicture.Image = Image.FromFile(ofdSelectPicture.FileName); 

試過,但,這並不似乎無所不能。所以即時猜測它的情況下,我需要告訴它打開。

所以,我所追求的是當用戶點擊一個新窗體的視圖到oepn和保存的圖像文件路徑以顯示圖像。這是switch語句

 switch (textBox5.Text) 
     { 
      case "Picture": 
       picture_viewer picture_viewer = new picture_viewer(); 

       picture_viewer.Show(); 
       break; 

      case "Video": 
       MessageBox.Show("video working"); 
       break; 

      case "Audio": 
       MessageBox.Show("audio working"); 
       break; 

      case "URL": 
       System.Diagnostics.Process.Start(textBox1.Text); 
       break; 
    } 

回答

1

您需要設置pictureBox對象是公衆,然後顯示窗體之前設置.Image屬性,它能夠更好地做到這一點你picture_viewer形式中使用聲明的方法

public void SetImage(string fileName) 
{ 
    // Set the size of the PictureBox control. 
    //this.pictureBox1.Size = new System.Drawing.Size(140, 140); 
    this.pictureBox1.Image = Image.FromFile(fileName); 
} 

然後

switch (textBox5.Text) 
{ 
    case "Picture": 
     picture_viewer picture_viewer = new picture_viewer(); 
     picture_viewer.SetImage(ofdSelectPicture.FileName) 
     picture_viewer.Show(); 
    break; 
+0

路徑是一個法律形式不是。調試時出錯。 –

+0

這意味着您的圖片文件名不正確。嘗試在switch語句中添加一個MessageBox,就在運行SetImage方法之前,讓messageBox顯示文件名以確保它實際上是一個有效的文件名。 MessageBox.Show(ofdSelectPicture.FileName); –