Sabtu, 04 Februari 2012

Contoh Program Drag-Drop File Text Dari Windows Explorer atau Desktop ke Program Aplikasi VB.Net

Untuk dapat melakukan proses drag-drop pada program aplikasi VB.Net, property AllowDrop milik Form harus di-set TRUE.


Dalam program ini event pada Form yang digunakan adalah DragEnter dan DragDrop. Event DragEnter akan dipicu jika objek (dalam kasus ini file text dari Windowds Explorer atau Desktop) yang di-drag, memasuki area Form. Dan event DragDrop dipicu jika proses drag-drop selesai dilakukan.

Dalam contoh program di bawah file yang di-drag adalah file teks dan pada saat di-drop di area Form, maka program akan menampilkan isi file teks yang di-drop pada sebuah MessageBox. Berikut source code program untuk drag-drop file teks dari Windows Explorer atau Desktop ke program aplikasi VB.Net

Imports System.IO

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 filePaths As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
            For Each fileLoc As String In filePaths
                'perintah utk membaca file text yg di drag dari win explorer
                If File.Exists(fileLoc) Then
                    Using tr As TextReader = New StreamReader(fileLoc)
                        MessageBox.Show(tr.ReadToEnd())
                    End Using
                End If

            Next fileLoc
        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.Copy
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub

End Class

Selamat mencoba

Tidak ada komentar: