我正在尝试弄清楚如何更改包含要在PictureBox
上显示的图像的文件夹中的图像。
我要做的是,在计时器中给定的时间间隔后,PictureBox
中的图像会发生变化。
我有我的代码,但它似乎不起作用,因为它显示第一个图像后,它不会改变。我可以随意纠正我的错误。感谢您的帮助和建议。
public void playImage()
{
int counter = i + 1;
string[] images = Directory.GetFiles(@"C:\Users\Documents\Visual Studio 2008\Projects\UI\UI\bin\\debugIMAGES");
if (counter > images.Length - 1);
counter = 0;
pictureBox1.Image = Image.FromFile(images[counter]);
}
答案 0 :(得分:0)
你可以制作你的图像列表和计数器全局变量,然后在每个计时器刻度上使用计数器从列表中获取img并递增它。
因此,您将列表和计数器声明为全局
string[] imges = null;
int counter = 0;
然后在Form_Load事件上设置计时器并从目录
中读取imgesprivate void Form9_Load(object sender, EventArgs e)
{
imges = Directory.GetFiles(@"G:\Pics");
Timer T = new Timer();
T.Interval = 500;
T.Tick += new EventHandler(PlayTime);
T.Start();
}
然后在计时器Tick事件上你改变了这样的图片:
void PlayTime(object sender, EventArgs e)
{
// pictureBox1.Image = Image.FromFile(imges[counter++]);
pictureBox1.ImageLocation = imges[counter++]; // better to use it this way.
if (counter >= imges.Length) counter = 0; // Handling out of Bounds
}