-1

タイマーを使用して画像を自動的に変更するための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.ToInt32(Label1.Text)
    i += 1

    If (i > 4) Then
        i = 1
    End If
    Label1.Text = i.ToString()
 End Sub
4

1 に答える 1

0

カウンターをクラスレベルに移動します。dbasnett からのコメントも取り入れます。また、ラベルは現在の画像番号を反映すべきではありませんか? ラベルの値を取得する方法は、背景画像の「1つ先」です。

次のようなものを試してください:

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
于 2013-10-03T20:38:21.543 に答える