C# 在picturebox中显示图像路径的数组(字符串),错误
我有这个代码在一个picturebox中显示4个图像,但它不工作,只显示最后一个图像C# 在picturebox中显示图像路径的数组(字符串),错误,c#,for-loop,C#,For Loop,我有这个代码在一个picturebox中显示4个图像,但它不工作,只显示最后一个图像 for (int i = 0; i < 4; i++) { Bitmap bmp = new Bitmap(array[i]); pictureBox.Image = Image.FromFile(array[i]); Thread.Sleep(2000); } for(int i=0;i
for (int i = 0; i < 4; i++)
{
Bitmap bmp = new Bitmap(array[i]);
pictureBox.Image = Image.FromFile(array[i]);
Thread.Sleep(2000);
}
for(int i=0;i<4;i++)
{
位图bmp=新位图(数组[i]);
pictureBox.Image=Image.FromFile(数组[i]);
《睡眠》(2000年);
}
使用计时器
,例如系统.Windows.Forms.Timer
(如果这是针对WinForms
),来执行代码。将间隔设置为2000 ms,并在其中更改图片盒.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);
}
for(int i=0;i<4;i++)
{
位图bmp=新位图(数组[i]);
pictureBox.Image=Image.FromFile(数组[i]);
pictureBox.Refresh();
《睡眠》(2000年);
}
另外,在主线程上进行睡眠从来都不是一个好主意,更好的方法是使用计时器并定期更改这些图像