Åbn billedet i Windows Photo Viewer ved at klikke på Picturebox1 c #

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har et projekt med SQlite database. Jeg gemmer billeder i mappen 'pics' (i debug folder) & deres navn i databasen (kolonne 'docpic'). Når jeg klikker på en række, hentes det relaterede billede billedet fra database til picturebox1. Jeg vil åbne billedet (i billedkasse1) ved hjælp af Windows Photo Viewer ved at klikke på Picturebox1.
hvordan kan man gøre det?


Jeg bruger disse koder i billedkasse1-klikhændelse, men det virker ikke:


if (pictureBox1.Tag != null)
{
    System.Diagnostics.Process imageViewerProcess = new System.Diagnostics.Process();
    imageViewerProcess.StartInfo.CreateNoWindow = false;
    imageViewerProcess.StartInfo.FileName = "rundll32.exe";
    imageViewerProcess.StartInfo.Arguments =
            @"C:WINDOWSSystem32shimgvw.dll,ImageView\_Fullscreen "
                               + pictureBox1.Tag.ToString();
    imageViewerProcess.Start();
}


}

Bedste reference


du mangler noget i argumentet, fordi det skal have den rigtige vej

, og hvis du bruger Windows 7 64-bit, skal du derefter ændre
C:Windowssystem32 til C:WindowsSysWOW64 inde i din argumentkodelinie.
så bliver det:


imageViewerProcess.StartInfo.Arguments = 
      @"C:WindowsSysWOW64shimgvw.dll,ImageView\_Fullscreen "+ pictureBox1.Tag.ToString();





og i stedet af al din kode, du hurtigt kan bruge:



  • til simpel brug:


    System.Diagnostics.Process.Start(@"Directory + image name");
    




  • til avanceret brug:


    System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(){
                    FileName  = @"Directory + image name",
                    UseShellExecute = true,
                    Verb  = "open"
                   });
    




  • En anden måde:


    ProcessStartInfo startInfo = new ProcessStartInfo(@"Directory + image name");
                                 startInfo.Verb = "open";
                                 System.Diagnostics.Process.Start(startInfo);
    







  og selvfølgelig ændres dette: "Directory + image name" til din billedbane.

  
  

  
  

      
  • Bemærk: Det er nødvendigt at være komplet vej

      &Nbsp;                   eksempel: c:folderimage.jpg,

                        og ikke kun image.jpg

  •