ToolStripItem.QueryContinueDrag 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 selama operasi seret dan letakkan dan memungkinkan sumber seret untuk menentukan apakah operasi seret dan letakkan harus dibatalkan.
public:
event System::Windows::Forms::QueryContinueDragEventHandler ^ QueryContinueDrag;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler QueryContinueDrag;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler? QueryContinueDrag;
[<System.ComponentModel.Browsable(false)>]
member this.QueryContinueDrag : System.Windows.Forms.QueryContinueDragEventHandler
Public Custom Event QueryContinueDrag As QueryContinueDragEventHandler
Jenis Acara
- Atribut
Contoh
Contoh kode berikut menunjukkan penggunaan anggota ini. Dalam contoh, penanganan aktivitas melaporkan terjadinya QueryContinueDrag peristiwa. Laporan ini membantu Anda mempelajari kapan peristiwa terjadi dan dapat membantu Anda dalam penelusuran kesalahan. Untuk melaporkan beberapa peristiwa atau pada peristiwa yang sering terjadi, pertimbangkan untuk mengganti MessageBox.Show dengan Console.WriteLine atau menambahkan pesan ke multibaris TextBox.
Untuk menjalankan kode contoh, tempelkan ke dalam proyek yang berisi instans jenis yang mewarisi dari ToolStripItem, seperti ToolStripButton atau ToolStripMenuItem. Kemudian beri nama instans ToolStripItem1
dan pastikan bahwa penanganan aktivitas dikaitkan dengan QueryContinueDrag peristiwa.
private void ToolStripItem1_QueryContinueDrag(Object sender, QueryContinueDragEventArgs e) {
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Action", e.Action );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "QueryContinueDrag Event" );
}
Private Sub ToolStripItem1_QueryContinueDrag(sender as Object, e as QueryContinueDragEventArgs) _
Handles ToolStripItem1.QueryContinueDrag
Dim messageBoxVB as New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Action", e.Action)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"QueryContinueDrag Event")
End Sub
Keterangan
Peristiwa QueryContinueDrag dinaikkan ketika ada perubahan dalam status tombol keyboard atau mouse selama operasi seret dan letakkan. Kejadian ini QueryContinueDrag memungkinkan sumber seret untuk menentukan apakah operasi seret dan letakkan harus dibatalkan.
Keterangan berikut menjelaskan bagaimana dan kapan peristiwa yang terkait dengan operasi seret dan letakkan dinaikkan.
Metode DoDragDrop menentukan item di bawah lokasi kursor saat ini. Kemudian memeriksa untuk melihat apakah item tersebut adalah target penurunan yang valid.
Jika item 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 dengan cara berikut:
Jika pengguna bergerak keluar dari jendela, DragLeave peristiwa akan dinaikkan.
Jika mouse memasukkan item lain, untuk kontrol tersebut DragEnter akan dinaikkan.
Jika mouse bergerak tetapi tetap berada dalam item yang sama, DragOver peristiwa akan dinaikkan.
Jika ada perubahan dalam status keyboard atau tombol mouse, QueryContinueDrag peristiwa dinaikkan dan menentukan apakah akan melanjutkan seret, untuk menghilangkan data, atau membatalkan operasi berdasarkan nilai Action properti peristiwa 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.
Peristiwa DragOver dan GiveFeedback dipasangkan sehingga saat mouse bergerak melintasi target penurunan, pengguna diberi umpan balik terbaru tentang posisi mouse, sebagai berikut:
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.