ID Artikel: 307966 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

Bagaimana memberikan fungsionalitas drag-and-drop file dalam aplikasi Visual C#

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Langkah demi langkah prosedur yang dijelaskan dalam artikel ini menunjukkan bagaimana untuk menyediakan fungsionalitas drag-and-drop file dalam Visual C# aplikasi. A ListBox kontrol yang digunakan sebagai tujuan prosedur drag-and-drop file.

Persyaratan

Daftar ini menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Visual C#
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan topik-topik berikut:

  • Windows Forms ListBox kontrol
  • Penanganan event Windows Forms

Langkah-langkah untuk membangun sampel

The ListBox kontrol menyediakan dua peristiwa drag-and-drop yang Anda butuhkan untuk menangani: DragEnter dan DragDrop. The DragEnter peristiwa terjadi ketika Anda menyeret objek dalam batas-batas kontrol dan digunakan untuk menentukan apakah objek yang sedang diseret adalah salah satu yang Anda ingin Izinkan untuk menjatuhkan pada control. Anda menangani acara ini untuk kasus-kasus di mana sebuah file atau file diseret ke kontrol. Hal ini memungkinkan ikon yang sesuai untuk ditampilkan ketika objek menyeret alih, tergantung pada objek yang sedang diseret. The DragDrop peristiwa terjadi ketika objek yang sedang diseret telah dirilis pada kontrol. Anda menangani acara ini untuk mengambil objek. The Data objek digunakan untuk mengambil data.

The Data objek GetData metode mengembalikan sebuah array dari string yang berisi nama path lengkap file yang diseret ke ListBox kontrol. Anda dapat menggunakan informasi lintasan berkas ini untuk melakukan operasi apa pun yang diperlukan pada file. Sebagai contoh, Anda dapat menggunakan kelas di System.io namespace untuk membuka dan membaca file, memindahkan file, atau Salin file ke lokasi baru. Dalam contoh ini, Anda hanya menambahkan path lengkap untuk file yang diseret untuk ListBox kontrol.

Untuk menyediakan fungsionalitas drag-and-drop file dalam Visual C# aplikasi, ikuti langkah berikut:
  1. Membuat aplikasi Windows Forms baru dalam Visual C#.NET atau Visual C# 2005. Form1 dibuat secara default.
  2. Menggunakan toolbox untuk menambahkan ListBox mengontrol Form1.
  3. Pada jendela Properties, mengubah AllowDrop properti ListBox kontrol untuk Benar untuk memungkinkan objek menyeret ke kontrol.
  4. Dalam solusi Explorer, klik kanan Form1, dan kemudian klik Lihat kode.
  5. Untuk menangani DragEnter acara, menambahkan metode berikut di bawah bagian kode yang menghasilkan Windows Form Designer di kelas Form1:
    private void listBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
    {
    	if(e.Data.GetDataPresent(DataFormats.FileDrop))
    		e.Effect = DragDropEffects.All;
    	else
    		e.Effect = DragDropEffects.None;
    }
    					
  6. Untuk menangani DragDrop acara, menambahkan metode berikut untuk kelas Form1 segera mengikuti metode yang ditambahkan pada langkah 5:
    private void listBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
    {
    	string[] s = (string[]) e.Data.GetData(DataFormats.FileDrop, false);
    	int i;
    	for(i = 0; i < s.Length; i++)
    		listBox1.Items.Add(s[i]);
    }
    					
  7. Untuk menghubungkan dua event handlers dengan peristiwa kontrol, tambahkan kode berikut dalam konstruktor Form1 setelah panggilan untuk InitializeComponent:
    this.listBox1.DragDrop += new
               System.Windows.Forms.DragEventHandler(this.listBox1_DragDrop);
    this.listBox1.DragEnter += new
               System.Windows.Forms.DragEventHandler(this.listBox1_DragEnter);
    
    					
  8. Membangun dan menjalankan proyek.
  9. Tarik satu atau lebih file dari desktop atau lain folder untuk ListBox kontrol. Perhatikan bahwa path lengkap file ditambahkan ke ListBox kontrol.

REFERENSI

Untuk informasi lebih lanjut, lihat situs Web Microsoft Developer Network (MSDN) berikut:
Peristiwa Control.DragEnter
.aspx http://MSDN.Microsoft.com/en-us/library/System.Windows.Forms.Control.dragenter (VS.71) (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dragenter(vs.71).aspx)

Peristiwa Control.DragDrop
.aspx http://MSDN.Microsoft.com/en-us/library/System.Windows.Forms.Control.DragDrop (VS.71) (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dragdrop(vs.71).aspx)

Berlaku bagi:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
Kata kunci: 
kbsweptvs2008 kbhowtomaster kbsample kbmt KB307966 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:307966  (http://support.microsoft.com/kb/307966/en-us/ )