Control.DragLeave Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi ketika objek diseret keluar dari batas kontrol.
public:
event EventHandler ^ DragLeave;
public event EventHandler DragLeave;
public event EventHandler? DragLeave;
member this.DragLeave : EventHandler
Public Custom Event DragLeave As EventHandler
Jenis Acara
Contoh
Contoh kode berikut menunjukkan operasi seret dan letakkan di antara dua ListBox kontrol. Contoh memanggil DoDragDrop metode saat tindakan seret dimulai. Tindakan seret dimulai jika mouse telah memindahkan lebih dari SystemInformation.DragSize dari lokasi mouse selama MouseDown peristiwa. Metode IndexFromPoint ini digunakan untuk menentukan indeks item yang akan diseret selama MouseDown
peristiwa.
Contoh ini juga menunjukkan penggunaan kursor kustom untuk operasi seret dan letakkan. Contohnya mengharuskan dua file kursor, 3dwarro.cur
dan 3dwno.cur
, ada di direktori aplikasi, untuk kursor seret dan tanpa jatuhkan kustom. Kursor kustom akan digunakan jika UseCustomCursorsCheck
CheckBox dicentang. Kursor kustom diatur dalam penanganan GiveFeedback aktivitas.
Status keyboard dievaluasi di DragOver penanganan aktivitas untuk di sebelah kanan ListBox
, untuk menentukan operasi seret berdasarkan status tombol SHIFT, CTRL, ALT, atau CTRL+ALT. Lokasi di ListBox
mana penurunan akan terjadi juga ditentukan selama DragOver
peristiwa. Jika data yang akan dihilangkan bukan String
, maka DragEventArgs.Effect diatur ke None
dalam DragDropEffects. Akhirnya, status penurunan ditampilkan di DropLocationLabel
Label.
Data yang akan dihilangkan untuk hak ListBox
ditentukan dalam DragDrop penanganan aktivitas dan String
nilai ditambahkan di tempat yang sesuai di ListBox
. Jika operasi seret bergerak di luar batas formulir, maka operasi seret dan letakkan dibatalkan di penanganan QueryContinueDrag aktivitas.
Kutipan kode ini menunjukkan menggunakan peristiwa tersebut DragLeave . DoDragDrop Lihat metode untuk contoh kode lengkap.
void ListDragTarget_DragLeave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Reset the label text.
DropLocationLabel->Text = "None";
}
private void ListDragTarget_DragLeave(object sender, EventArgs e)
{
// Reset the label text.
DropLocationLabel.Text = "None";
}
Private Sub ListDragTarget_DragLeave(ByVal sender As Object, ByVal e As EventArgs) Handles ListDragTarget.DragLeave
' Reset the label text.
DropLocationLabel.Text = "None"
End Sub
Keterangan
Peristiwa DragLeave dinaikkan saat pengguna menyeret kursor keluar dari kontrol atau pengguna membatalkan operasi seret dan letakkan saat ini.
Berikut ini menjelaskan bagaimana dan kapan peristiwa yang terkait dengan operasi seret dan letakkan dinaikkan.
Metode DoDragDrop menentukan kontrol di bawah lokasi kursor saat ini. Kemudian memeriksa untuk melihat apakah kontrol adalah target penurunan yang valid.
Jika kontrol adalah target penurunan yang valid, GiveFeedback peristiwa dinaikkan dengan efek seret dan letakkan yang ditentukan. Untuk daftar efek seret dan letakkan, lihat DragDropEffects enumerasi.
Perubahan posisi kursor mouse, status keyboard, dan status tombol mouse dilacak.
Jika pengguna keluar dari jendela, DragLeave peristiwa akan dinaikkan.
Jika mouse memasuki kontrol lain, untuk kontrol tersebut DragEnter akan dinaikkan.
Jika mouse bergerak tetapi tetap berada dalam kontrol yang sama, DragOver peristiwa akan dinaikkan.
Jika ada perubahan dalam status tombol keyboard atau mouse, QueryContinueDrag peristiwa dinaikkan dan menentukan apakah akan melanjutkan seret, untuk menghilangkan data, atau membatalkan operasi berdasarkan nilai Action properti acara QueryContinueDragEventArgs.
Jika nilai DragAction adalah
Continue
, DragOver peristiwa dinaikkan untuk melanjutkan operasi dan GiveFeedback peristiwa dinaikkan dengan efek baru sehingga umpan balik visual yang sesuai dapat diatur. Untuk daftar efek penurunan yang valid, lihat DragDropEffects enumerasi.Catatan
Peristiwa DragOver dan GiveFeedback dipasangkan sehingga saat mouse bergerak melintasi target penurunan, pengguna diberi umpan balik terbaru tentang posisi mouse.
Jika nilai DragAction adalah
Drop
, nilai efek penurunan dikembalikan ke sumber, sehingga aplikasi sumber dapat melakukan operasi yang sesuai pada data sumber; misalnya, memotong data jika operasi adalah pemindahan.Jika nilai DragAction adalah
Cancel
, DragLeave peristiwa dinaikkan.
Untuk informasi selengkapnya tentang menangani peristiwa, lihat Menangani dan Menaikkan Peristiwa.
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk