Vb.net 使用计时器更改背景图像
这是我在vb.net中使用定时器自动更改图像的代码,但代码不起作用Vb.net 使用计时器更改背景图像,vb.net,image-processing,timer,Vb.net,Image Processing,Timer,这是我在vb.net中使用定时器自动更改图像的代码,但代码不起作用 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Me.BackgroundImage = Image.FromFile("C:\images\\" + Label1.Text + "1.jpg") Dim i As Integer = Convert.T
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.BackgroundImage = Image.FromFile("C:\images\\" + Label1.Text + "1.jpg")
Dim i As Integer = Convert.ToInt32(Label1.Text)
i += 1
If (i > 4) Then
i = 1
End If
Label1.Text = i.ToString()
End Sub
将计数器移出到班级级别。还包括来自dbasnett的评论。此外,标签不应该反映当前的图像编号吗?标签中的值位于背景图像的“前面” 尝试更类似于:
Private i As Integer = 1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim FileName As String = "C:\images\" & i.ToString & ".jpg"
Try
Me.BackgroundImage = Image.FromFile(FileName)
Label1.Text = i.ToString()
i += 1
If (i > 4) Then
i = 1
End If
Catch ex As Exception
Debug.Print(FileName)
MessageBox.Show(FileName & vbCrLf & vbCrLf & ex.ToString, "Error Loading Image")
End Try
End Sub
你的代码看起来很合理。你收到错误信息了吗?你确定文件名正确吗?定义“不工作”我从这里看不到屏幕。如果计时器的时间间隔太短,它可能会改变,但你不能说,因为它发生得太快了。你可以通过点击一个按钮来判断它是否有效,并在你发布到计时器之前调试那些不起作用的艺术。它包含\,我认为它应该是\。还有,文件名是11.jpg,然后是21.jpg,等等。不,先生,它不能工作。我刚刚得到的错误是“文件未找到,异常未处理”。很明显,文件不在那里,或者您构造的名称错误。请尝试使用Debug.Print()输出文件名,以帮助您排除故障。文件已位于正确位置。bt为什么它不工作。找不到文件意味着文件不在那里。您需要进行故障排除,并仔细查看文件名和位置……检查上面编辑的代码。