2012-05-10 3 views
0

J'ai une base de données qui est liée à mon application C#. Lorsque l'utilisateur clique sur afficher une instruction de commutateur vérifie quel type de fichier est un affiche le visualisateur relvant. Quand c'est une image, je veux un nouveau formulaire à ouvrir et cette image à afficher. L'image est enregistrée dans le ofdSelectPicture de varribale et je l'ai essayé dans la nouvelle formeOuvrir un nouveau formulaire et ouvrir le fichier image enregistré à partir de la base de données C#

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

mais cela ne semble rien faire. Donc je devine sa déclaration de cas où je dois lui dire d'ouvrir. Donc, ce que je veux, c'est quand l'utilisateur clique sur la vue pour un nouveau formulaire à afficher et le chemin du fichier image qui est enregistré pour montrer l'image. c'est l'instruction 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; 
    } 

Répondre

1

vous devez définir l'objet pictureBox être public et puis définissez la propriété .Image avant de montrer la forme, de son mieux pour le faire en utilisant une méthode déclarée dans votre formulaire 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); 
} 

puis

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

Le chemin est pas d'une forme juridique. est l'erreur lors du débogage. –

+0

Cela signifie que votre nom de fichier pour votre image est incorrect. Essayez d'ajouter un MessageBox à l'intérieur de votre instruction switch, juste avant d'exécuter la méthode SetImage, demandez à messageBox d'afficher votre nom de fichier pour vous assurer qu'il s'agit d'un nom de fichier valide. MessageBox.Show (ofdSelectPicture.FileName); –

Questions connexes