Tambahkan dukungan untuk unggahan file dengan kegunaan intuitif seret dan lepas.
Banyak aplikasi modern beroperasi pada file yang dapat diunggah pengguna ke sistem mereka. Editor gambar, IDE kode, dan pengolah kata adalah contohnya. Jika Anda membuat aplikasi Windows Form, Anda dapat dengan mudah menambahkan fungsionalitas ini sebagai bagian dari antarmuka pengguna Anda.
Aplikasi Windows Form memungkinkan Anda untuk menarik dan melepas elemen UI seperti panel atau kotak daftar. Anda dapat menggunakan elemen UI ini untuk membuat fungsionalitas seret dan lepas. Saat pengguna menyeret file ke panel, Anda dapat menampilkan umpan balik berdasarkan file tersebut.
Cara Membuat UI untuk Drag and Drop Container
Anda dapat menggunakan elemen panel untuk membuat UI untuk fungsionalitas seret dan lepas. Anda kemudian dapat menggunakan elemen UI ListBox untuk menampilkan nama file apa pun yang diseret pengguna ke panel.
- Buat aplikasi Windows Forms baru.
- Di kotak alat, cari elemen UI panel, dan seret ke kanvas.
- Sorot panel baru. Di jendela properti, ubah nilai properti berikut:
Properti
Nilai baru
Nama
dragDropPanel
Warna Belakang
Asap putih
Gaya Perbatasan
FixedSingle
Ukuran
600, 400
Bisa dilihat
BENAR
- Di kotak alat, cari elemen UI ListBox, dan seret ke kanvas. Posisikan sehingga berada di dalam panel, dan pastikan ada jarak antara ListBox dan panel.
- Sorot ListBox baru, dan ubah nilai properti berikut:
Properti
Nilai baru
Nama
uploadFilesList
Warna Belakang
Asap putih
Gaya Perbatasan
Tidak ada
Ukuran
500, 300
Bisa dilihat
PALSU
Cara Menambahkan Acara Seret dan Lepas
Anda dapat gunakan acara di aplikasi Windows Form untuk menjalankan fungsi tertentu hanya ketika peristiwa tertentu terjadi.
Untuk menambahkan fungsionalitas ke panel seret dan lepas, Anda perlu menambahkan dua acara. Acara "DragEnter" akan terjadi saat Anda menyeret file ke panel. Acara "DragDrop" akan terjadi saat Anda melepaskan mouse untuk menjatuhkan file ke panel.
- Sorot elemen UI panel luar.
- Di jendela properti, klik pada Keringanan ikon untuk membuka daftar acara.
- Klik dua kali pada Seret Masuk acara untuk menghasilkan fungsi baru. Fungsi ini akan dijalankan saat Anda menyeret file ke panel.
- Di dalam fungsi baru, ubah ikon mouse untuk menunjukkan tindakan drag/drop:
pribadiruang kosongdragDropPanel_DragEnter(pengirim objek, DragEventArgs e)
{
// Mengubah ikon mouse
e. Efek = DragDropEffects. Semua;
} - Klik pada Formulir 1.cs [Desain] tab di bagian atas jendela Visual Studio, untuk kembali ke tampilan kanvas. Sorot elemen panel UI.
- Di jendela properti, klik pada Keringanan ikon untuk kembali ke daftar acara. Kali ini, klik dua kali pada Seret dan jatuhkan peristiwa. Ini akan menghasilkan fungsi lain yang akan dijalankan saat Anda melepaskan mouse untuk menjatuhkan file ke panel.
- Di dalam fungsi DragDrop baru, dapatkan daftar file yang diseret pengguna ke panel. Anda dapat menemukan ini di detail acara yang secara otomatis diteruskan ke fungsi.
pribadiruang kosongdragDropPanel_DragDrop(pengirim objek, DragEventArgs e)
{
string[] file = (string[])e. Data. GetData (DataFormat. FileDrop, PALSU);
}
Cara Menampilkan Daftar File yang Diseret
Sekarang Anda telah menambahkan fungsionalitas bagi pengguna untuk menarik dan melepas file, Anda dapat menampilkan nama file menggunakan elemen ListBox UI.
- Di dalam fungsi dragDropPanel_DragDrop(), setelah mendapatkan daftar file, gunakan for-loop untuk mengulang setiap file.
untuk setiap (var berkas dalam berkas)
{
} - Di dalam for-loop, dapatkan hanya nama file. Pisahkan nama file dari jalur file, dan simpan dalam variabel terpisah. Jika Anda menggunakan Mac, Anda mungkin perlu mengubah kode untuk memperhitungkan garis miring ke depan, bukan garis miring terbalik.
string namafile = file. Substring (file. IndeksTerakhir("\\") + 1, file. Panjang - (file. IndeksTerakhir("\\") + 1));
- Tambahkan nama file ke elemen ListBox UI.
mencoba
{
uploadFilesList.Item.Menambahkan(nama file);
}
menangkap (Pengecualianpengecualian)
{
Menghibur. Garis Tulis(pengecualian);
} - ListBox tidak terlihat secara default. Setelah for-loop, ubah visibilitas ListBox menjadi true:
uploadFilesList. Terlihat = BENAR;
- Ubah konstruktor di bagian atas file. Mengatur AllowDrop Dan Gulir Otomatis properti panel seret dan lepas ke true.
publik Formulir1()
{
InisialisasiKomponen();
dragDropPanel. IzinkanDrop = BENAR;
dragDropPanel. Gulir Otomatis = BENAR;
}
Cara Menghapus Daftar
Setelah pengguna menyeret item ke panel, mereka mungkin ingin menghapus daftar dan memulai lagi. Anda dapat menambahkan tombol untuk menghapus daftar saat pengguna mengkliknya.
- Menggunakan kotak alat, seret tombol ke kanvas.
- Sorot tombolnya. Gunakan jendela properti untuk mengubah properti berikut ke nilai baru:
Properti
Nilai baru
Nama
clearButton
Teks
Jernih
- Klik dua kali pada tombol untuk menghasilkan fungsi baru. Fungsi ini akan dijalankan ketika Anda mengklik tombol saat runtime:
pribadiruang kosongclearButton_Click(pengirim objek, EventArgs e)
{}
- Di dalam fungsi, hapus konten elemen UI ListBox dan sembunyikan:
pribadiruang kosongclearButton_Click(pengirim objek, EventArgs e)
{
uploadFilesList.Item.Jernih();
uploadFilesList. Terlihat = PALSU;
}
Cara Menguji Panel Seret dan Lepas
Untuk menguji fungsionalitas seret dan lepas, jalankan aplikasi dan seret beberapa file ke panel. Jika diperlukan, Anda juga bisa debug aplikasi Winforms Anda di Visual Studio saat runtime. Ini akan membantu Anda memahami apa yang terjadi di setiap baris kode.
- Tekan tombol putar hijau di bagian atas jendela Visual Studio untuk menjalankan aplikasi.
- Seret beberapa file dari penjelajah file Anda, dan jatuhkan ke panel. Pastikan Anda tidak menjalankan Visual Studio dalam mode administrator. Anda harus mengonfigurasi izin keamanan ekstra untuk drag and drop agar berfungsi dalam mode administrator.
- Panel akan diperbarui untuk menampilkan nama file yang Anda seret ke panel.
- Seret file yang cukup dan Anda akan melihat panel seret dan lepas menampilkan bilah gulir di sisi kanannya secara otomatis.
- Klik pada Jernih tombol untuk mengosongkan daftar.
Menggunakan Fungsi Seret dan Lepas di Aplikasi Windows Form
Sekarang Anda diharapkan memahami cara menambahkan fungsionalitas drag and drop ke aplikasi Windows Form Anda. Masih banyak fitur lain yang bisa Anda jelajahi untuk melakukan hal-hal menarik dengan Windows Forms.