按顺序显示特定文件夹中的每张图片

时间:2017-09-24 10:31:08

标签: c#

我在C:\

中的一个文件夹中有5张图片

图片命名为pic(1)至(5)

我希望程序显示该文件夹中的第一张图片,然后转到下一张。

我可以通过声明一个字符串" path"和一个int" nextNumb"并在计时器内部构建一个代码,其中" nextNumb"每次代码运行时都会增加,并将路径从(1)更改为(2)到(3)等等......

但这是效率低下我想以某种方式阅读/打开文件夹中的图片并按照设置的顺序显示它们。

1 个答案:

答案 0 :(得分:0)

您可以使用此命令“Directory.GetFiles(targetDirectory);”

读取目录中的所有文件

https://msdn.microsoft.com/de-de/library/07wt70x2(v=vs.110).aspx

以下是提取文件编号并按编号

排序的示例
static void Main()
{
    var files = Directory.GetFiles(@"your Path");
    var items = files.OrderBy(o => ExtractNumber(o)).ToList();
}

private static int ExtractNumber(string filePath)
{
    //file name structure -> "pic(1).jpg"

    var startIndex = filePath.IndexOf('(');
    if (startIndex == -1)
    {
        return -1;
    }

    var endIndex = filePath.IndexOf(')', startIndex);
    if (endIndex == -1)
    {
        return -1;
    }

    var tempNumber = filePath.Substring(startIndex + 1, endIndex - startIndex - 1);
    if (int.TryParse(tempNumber, out int fileNumber))
    {
        return fileNumber;
    }

    return -1;
}