Windowsエクスプローラーからフォームにファイルをドロップしようとしていますが、ほぼ成功しています:)
シェルでエクスプローラーウィンドウを開いた後、受け入れる前にメッセージボックス/ダイアログが1つあるフォームにファイルをドロップできます。
問題は、実際には、質問のあるメッセージボックスがエクスプローラーウィンドウの後ろに開くことです。コードは次のとおりです。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.AllowDrop = True
End Sub
Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim Files() As String
Files = e.Data.GetData(DataFormats.FileDrop)
If Files.Length > 0 Then
Dim ret As Integer = MsgBox("Would you like to upload file?" & vbNewLine & Files(0), MsgBoxStyle.OkCancel + MsgBoxStyle.Question, "Decide please")
If ret = DialogResult.OK Then
myModule.UploadF()
End If
End If
End If
End Sub
Private Sub Form1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.All
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub btn_open_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_open.Click
Shell("explorer c:\", AppWinStyle.NormalFocus)
End Sub
End Class
1)メッセージボックスをエクスプローラウィンドウの前に表示させる方法はありますか?
2) 使用後にプログラムから開いているエクスプローラー ウィンドウを閉じるには?
編集: 解決策...
1) Me.Activateを MsgBox の前に配置することです!
2)そのため、私はまだ解決策を見つけていません。