在图片框中显示图像路径的数组(字符串),错误

本文关键字:数组 字符串 错误 路径 图像 显示图 显示 | 更新日期: 2023-09-27 17:58:05

我有这个代码在一个图片框中显示4个图像,但它不起作用,只显示最后一个图像

for (int i = 0; i < 4; i++)
        {
            Bitmap bmp = new Bitmap(array[i]);
            pictureBox.Image = Image.FromFile(array[i]);
            Thread.Sleep(2000);
        }

在图片框中显示图像路径的数组(字符串),错误

使用Timer,例如System.Windows.Forms.Timer(如果这是针对WinForms的)来执行代码。将Interval设置为2000 ms,然后在其中更改pictureBox.Image

按照现在的方式,您需要锁定UI线程2秒钟,然后再次更改图像。用户在8秒内看不到任何东西,只有一个明显冻结的应用程序,然后他们会看到最后一张图片。

您需要在睡眠或主线程被阻止之前更新您的接口,并且不会更新接口:

for (int i = 0; i < 4; i++)
    {
        Bitmap bmp = new Bitmap(array[i]);
        pictureBox.Image = Image.FromFile(array[i]);
        pictureBox.Refresh();
        Thread.Sleep(2000);
    }

此外,在主线程上进行睡眠从来都不是一个好主意,更好的方法是有一个计时器,并定期更改这些图像。