投稿者 るきお  (社会人) 投稿日時 2020/10/16 20:44:16
>前回記述していませんでしたが、前述のエラー以外に、
>「アプリケーションはブレークモードになっています」(大きな字)
>「お使いのアプリはブレーク状態になりましたが、すべてのスレッドが外部コード (通常はシステム コードまたはフレームワーク コード) を
>実行していたため、表示されるコードはありません。」(細かい字)
>も出ていました。
いろいろ妙なので、プログラムの問題以外に、実行環境の状態や設定がおかしいのかもしれません。
[ツール]メニューの[設定のインポートとエクスポート]を使うと、すべての設定を最初の状態に戻すことができます。
また、原因が追求できないのならば、現在のプログラムはもう開かないことにして、新しいプロジェクトを作成しなすと良いかもしれません。

フォルダー内の画像(jpg)を次々と切り替えるサンプルを紹介します。
私の環境では動作します。

Public Class Form1

    Dim filePointer As IEnumerator(Of String)

    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown

        '▼マイピクチャーフォルダーの直下にある 拡張子が jpg のファイルのパスの一覧を取得します。 
        Dim imageFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)
        Dim fileNames As New List(Of String)(IO.Directory.GetFiles(imageFolder, "*.jpg"))

        '▼一覧の画像を指し示すポインター(列挙子)を取得して、最初の画像を表示します。 
        filePointer = fileNames.GetEnumerator()
        ShowNextImage()

        'タイマー起動。以降は 3秒ごとに次の画像を表示します。 
        Timer1.Interval = 3000
        Timer1.Enabled = True

    End Sub

    ''' <summary> 
    ''' filePointerの次の画像を表示します。次の画像がない場合、最初の画像を表示します。 
    ''' ファイルが1つもない場合はエラーになります。 
    ''' </summary> 
    Private Sub ShowNextImage()
        If filePointer.MoveNext = False Then
            filePointer.Reset()
            filePointer.MoveNext()
        End If
        Me.BackgroundImage = Image.FromFile(filePointer.Current)
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        ShowNextImage()
    End Sub

End Class


このサンプルではマイピクチャーフォルダーを対象にしていますが、下記のようにimageFolderの値を変更することで任意のフォルダーを対象にすることができます。
Dim imageFolder As String = "C:\xxxx\ddddd"

すべての画像を最初の段階でメモリー上に読み込んでおく例も紹介します。
Public Class Form1

    Dim filePointer As IEnumerator(Of Image)

    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown

        '▼マイピクチャーフォルダーの直下にある 拡張子が jpg のファイルの画像の一覧を取得します。 
        Dim imageFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)
        Dim images As New List(Of Image)
        For Each fileName As String In IO.Directory.GetFiles(imageFolder, "*.jpg")
            images.Add(Image.FromFile(fileName))
        Next

        '▼一覧の画像を指し示すポインター(列挙子)を取得して、最初の画像を表示します。 
        filePointer = images.GetEnumerator()
        ShowNextImage()

        'タイマー起動。以降は 3秒ごとに次の画像を表示します。 
        Timer1.Interval = 3000
        Timer1.Enabled = True

    End Sub

    ''' <summary> 
    ''' filePointerの次の画像を表示します。次の画像がない場合、最初の画像を表示します。 
    ''' ファイルが1つもない場合はエラーになります。 
    ''' </summary> 
    Private Sub ShowNextImage()
        If filePointer.MoveNext = False Then
            filePointer.Reset()
            filePointer.MoveNext()
        End If
        Me.BackgroundImage = filePointer.Current
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        ShowNextImage()
    End Sub

End Class


いろいろな書き方があり、上記はほんの一例です。