【问题标题】:how open image by clicking on a label c# ( image name is in sqlite database )?如何通过单击标签 c#(图像名称在 sqlite 数据库中)打开图像?
【发布时间】:2017-03-07 17:45:44
【问题描述】:

我有一个带有 sqlite 数据库的项目。 我将图像保存在文件夹“pics”中(进入调试文件夹)和它们的名称在数据库中(列“docpic”)。 当我连续单击时,相关图像名称位于 label10.text .. 通过点击label10我如何通过Windows Photo Viewer打开图像??

【问题讨论】:

  • Process.Start

标签: c# image sqlite label


【解决方案1】:

在属性中添加事件处理程序Click
或者在表单构造函数中手动添加监听器到标签

label10.Click += LoadImage;

和写方法

string ImagePath = @"c:\ImagesPath\";
private void LoadImage(object sender, EventArgs e)
{
    // cast sender to label so we can get access to it properties
    var label = (Label)sender;
    // compose path from folder path and image name
    var imgPath = ImagePath+label.Text;
    //Load image
}

附言如何找到相对路径: 让我们想象一下你有这种文件夹结构

/Project
    /Bin
        /Debug
            THIS_IS_YOUR.EXE
        /Images
            Image1.jpg
            Image2.jpg            
    /Obj
    /Properties

那么文件夹的路径就是

string dirPath = @"../Images/";

欲了解更多信息,请访问https://en.wikipedia.org/wiki/Cd_(command)

【讨论】:

  • label10.text 是图像名称。那不是图片路径
  • 你在哪里保存路径?或者它是特定位置的一些静态文件夹?
  • 我不保存路径。我将文件夹(图片)中的图像保存到文件夹(调试)中。以及数据库中的名称。路径必须类似于:"//pics//" ???
  • 是的,您需要以这种方式使用相对路径。相对于您的 exe 文件。例如,如果您在一个级别中有exe filepic folder,那么只需pic//
  • 对不起。最后我的问题的答案是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 2012-03-12
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多