点击picturebox1打开窗口照片查看器中的图像c#

我有一个SQlite数据库的项目。 我将图片保存到数据库(“docpic”列)的文件夹“图片”(debugging文件夹)及其名称。 当我连续点击时,相关图像从数据库检索图像到picturebox1。 我想打开图片(在picturebox1)由Windows照片查看器通过点击picturebox1。 这个怎么办?

我使用这个代码在picturebox1点击事件,但那不工作:

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:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " + pictureBox1.Tag.ToString(); imageViewerProcess.Start(); } 

}

Solutions Collecting From Web of "点击picturebox1打开窗口照片查看器中的图像c#"

你在论证中遗漏了一些东西,因为它必须有正确的路径
如果您使用的是Windows 7 64位,请更改
C:\Windows\system32到您的参数代码行中的C:\Windows\SysWOW64
所以它成为:

 imageViewerProcess.StartInfo.Arguments = @"C:\Windows\SysWOW64\shimgvw.dll,ImageView_Fullscreen "+ pictureBox1.Tag.ToString(); 

不是所有的代码,你可以很快使用:

  • 为简单的用法:

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

  • 对于高级用法:

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

  • 其他方式 :

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

当然这个改变了: "Directory + image name"到你的图像路径。


  • 注意:其必须是完整的路径
    例如: c:\folder\image.jpg
    而不只是image.jpg