3

これは私が仕事に就けない例です。指示に従いましたが、ファイルをフォームにドラッグ アンド ドロップしようとすると、それができず、使用不可のカーソルが表示されます。

とても簡単です。drap-and-dropプロパティを Trueに設定して有効にしAllowDrop、DragEnter および DragDrop イベントを処理するだけです。イベント ハンドラーではDragEnter、DataFormats クラスを使用して、データが目的の型であるかどうかを確認できます。DragDropイベント ハンドラーで、の Data プロパティを使用して、DataEventArgs実際のデータを受け取ります。

例:

Private Sub Form1_Load(sender As System.Object, _
                       e As System.EventArgs) _
  Handles MyBase.Load

    Me.AllowDrop = True
End Sub

Private Sub Form1_DragDrop(sender As System.Object, _
                           e As System.Windows.Forms.DragEventArgs) _
  Handles Me.DragDrop

    Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
    For Each path In files
        MsgBox(path)
    Next
End Sub

Private Sub Form1_DragEnter(sender As System.Object, _
                            e As System.Windows.Forms.DragEventArgs) _
  Handles Me.DragEnter

    If e.Data.GetDataPresent(DataFormats.FileDrop) Then
        e.Effect = DragDropEffects.Copy
    End If
End Sub
4

1 に答える 1

4
Imports System.IO

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.AllowDrop = True
    End Sub
    Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop
        Dim theFiles() As String = CType(e.Data.GetData("FileDrop", True), String())
        For Each theFile As String In theFiles
            MsgBox(theFile)
        Next
    End Sub

    Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            e.Effect = DragDropEffects.Copy
        End If
    End Sub
End Class
于 2013-02-23T04:48:11.177 に答える