2010-12-12 8 views
2

上にドラッグ\ドロップを使用したとき、私はパスとファイル名を取得するためにファイルのリストをループにしようとしています。 これらのファイルは、データグリッドにドラッグされていますリリースファイルフォルダロック制御

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

Dim filenames As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String()) 

    For Each File In filenames 
     If Array.IndexOf(SupportedFormats, System.IO.Path.GetExtension(File)) <> -1 Then 
      Frm = New FormRestore(ServerName, File) 
      Frm.Show() 

      While Frm.Visible 
       Application.DoEvents() 
      End While 

     End If 
    Next 

End Sub 

子フォームは、パスとファイル名に基づいてアクションを処理する作成されます。 ループが完了するまで、ファイルがドラッグされたフォルダはロックされます。

私はパスとファイル名のリストを取得し、ソースフォルダをロックアウトせずに、それぞれをどのように処理しますか?

(私はUI応答を維持しながら、それぞれの間で一時停止、順次ファイル名を処理するwhileループを使用している)

おかげ。

答えて

2

はハンドラ内でBeginInvokeを呼び出すことにより、ドラッグ&ドロップ&イベントの後にファイルを処理して試してみてください。