一个接一个地在图片框中显示图像

时间:2014-08-16 21:02:58

标签: c# image picturebox

我正在尝试创建一个简单的应用程序来抓取文件夹中的所有* .jpg文件,并将它们显示在PictureBox中。

但是我试图让Prev / Next按钮逐个显示图像。这是我到目前为止的Next按钮的代码:

string path = @"..\..\Resources\Wallpapers\";
int count = 0;

private void Form1_Load(object sender, EventArgs e)
{
    DisplayNextFile(count);
}

private void next_Click(object sender, EventArgs e)
{
    DisplayNextFile(count);
}

private void DisplayNextFile(int c)
{
    var rand = new Random();
    var files = Directory.GetFiles(path, "*.jpg");
    var images = new Image[files.Length];

    for (int i = c; i < files.Length; ++i)
    {
        images[i] = Image.FromFile(files[i]);
        picBoxMainPreview.Image = images[i];
        break;
    }

    count++;

    if (count == files.Length)
        count = 0;
}

它工作正常,但我怎么能用于上一个按钮呢?

1 个答案:

答案 0 :(得分:0)

count++;删除DisplayNextFile

private void next_Click(object sender, EventArgs e)
{
    count = (++count) % files.Length;
    DisplayNextFile(count);
}


private void previous_Click(object sender, EventArgs e)
{  
    count = (count - 1) >= 0 ? count - 1 ? files.Length - 1;

    DisplayNextFile(count);
}

将for循环替换为:

picBoxMainPreview.Image = Image.FromFile(c);