投稿者 ロト君  (社会人) 投稿日時 2021/12/19 09:13:54
どうしても、ダイアログでは2回目の更新が出来ないようなので、
ドロップ形式に変更しました。

コードは下記の様にしました。



    Private Sub txt_img_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles txt_img.DragEnter

        'ファイル形式の場合のみ、ドラッグを受け付けます。
        If e.Data.GetDataPresent(DataFormats.FileDrop) = True Then
            e.Effect = DragDropEffects.Copy
        Else
            e.Effect = DragDropEffects.None
        End If

    End Sub

    Private Sub txt_img_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles txt_img.DragDrop

        'ドラッグされたファイル・フォルダのパスを格納します。
        Dim strFileName As String() = CType(e.Data.GetData(DataFormats.FileDrop, False), String())

        'ファイルの存在確認を行い、ある場合にのみ、
        'テキストボックスにパスを表示します。
        '(この処理でフォルダを対象外にしています。)
        If System.IO.File.Exists(strFileName(0).ToString) = True Then
            txt_img.Text = strFileName(0).ToString
            pic_img.SizeMode = PictureBoxSizeMode.Zoom
            pic_img.ImageLocation = strFileName(0).ToString
        End If

    End Sub


問題は、解決してませんが、一応。結果的には同様の事が出来ると思います。
ですが、上記の際に。画像以外のファイルが来た場合の対応が分かりませんね・・・・。