【发布时间】:2020-04-19 21:40:59
【问题描述】:
我正在尝试更新计时器上图片框中的图像。老实说,我在图片框方面没有太多经验,而且从我完成任何 C# 工作以来已经有大约 5 年的时间了。我试图在谷歌和这里搜索,似乎找不到我认为我需要的答案:/
基本上,这就是我想要做的。表单需要以秒为单位的时间(例如 5 秒), 当一个按钮被点击时,一个新的表单被打开。这个新表单上有一个图片框,它将显示目录中的随机照片。我可以让图片框显示随机照片,但是当我尝试在不重新打开表单的情况下刷新它时,这就是我遇到问题的地方。
我有一个变量 (timeVar) 设置为以秒为单位的输入时间,并且在后台有一个计时器,每次计时器滴答时,它都会通过减去 1 来更新 timerVar。这就是我必须在图片中设置的图片每次迭代的框。有一个外循环遍历我的列表(dirList),直到它命中列表中的每个项目。
while(timerVar > 0)
{
pictureTimer.Start();
imagePathPic = imagePath + dirList[ind];
sessionPicture.ImageLocation = @imagePathPic;
sessionPicture.Refresh();
}
pictureTimer.Stop();
timeVar = 5;
dirList 是给定目录中所有图像的列表,imagePath 是保存目录的字符串。我的列表/字符串的功能以及外部循环都已成功测试,但是当我在上面的循环中应用图片框时,它不会做任何事情,直到它获得最后一张图片然后显示。为了在表格上显示每张图片,我缺少什么?如果您需要更多信息,请告诉我。
谢谢!
【问题讨论】:
-
删除循环。需要使用
Timer.Tick事件来改变Image(Tick事件属于System.Windows.Forms.Timer组件)。
标签: c# visual-studio-2019 picturebox