Share via


ToolStripItem.QueryContinueDrag Olay

Tanım

Sürükle ve bırak işlemi sırasında gerçekleşir ve sürükleme kaynağının sürükle ve bırak işleminin iptal edilip edilmeyeceğini belirlemesine izin verir.

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 

Olay Türü

Öznitelikler

Örnekler

Aşağıdaki kod örneğinde bu üyenin kullanımı gösterilmektedir. Örnekte, bir olay işleyicisi olayın oluşumunu QueryContinueDrag raporlar. Bu rapor, olayın ne zaman gerçekleştiğini öğrenmenize yardımcı olur ve hata ayıklamada size yardımcı olabilir. Birden çok olayı veya sık gerçekleşen olayları raporlamak için, iletisini ile Console.WriteLine değiştirmeyi MessageBox.Show veya çok satırlı TextBoxbir iletiye eklemeyi göz önünde bulundurun.

Örnek kodu çalıştırmak için, veya gibi türünden ToolStripItemdevralan bir türün örneğini içeren bir ToolStripButtonToolStripMenuItemprojeye yapıştırın. Ardından örneği ToolStripItem1 adlandırın ve olay işleyicisinin olayla ilişkilendirildiğinden QueryContinueDrag emin olun.

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

Açıklamalar

Olay QueryContinueDrag , sürükle ve bırak işlemi sırasında klavye veya fare düğmesi durumunda bir değişiklik olduğunda tetikler. Olay, QueryContinueDrag sürükleme kaynağının sürükle ve bırak işleminin iptal edilip edilmeyeceğini belirlemesine olanak tanır.

Aşağıdaki açıklamalar, sürükle ve bırak işlemleriyle ilgili olayların nasıl ve ne zaman tetiklenmiş olduğunu açıklar.

yöntemi, DoDragDrop geçerli imleç konumunun altındaki öğeyi belirler. Ardından öğenin geçerli bir bırakma hedefi olup olmadığını denetler.

Öğe geçerli bir bırakma hedefiyse, GiveFeedback olay sürükle ve bırak efekti belirtilen şekilde oluşturulur. Sürükle ve bırak efektlerinin listesi için numaralandırmaya DragDropEffects bakın.

Fare imleci konumu, klavye durumu ve fare düğmesi durumundaki değişiklikler aşağıdaki şekilde izlenir:

  • Kullanıcı bir pencereden dışarı taşınırsa, DragLeave olay tetikler.

  • Fare başka bir öğeye girerse, DragEnter bu denetimin öğesi oluşturulur.

  • Fare hareket ederse ancak aynı öğe içinde kalırsa, DragOver olay tetikler.

Klavye veya fare düğmesi durumunda bir değişiklik olursa, QueryContinueDrag olay oluşturulur ve sürüklemeye devam etmek, verileri bırakmak veya olayın özelliğinin Action değerine göre işlemi iptal etmek isteyip istemediğinizi QueryContinueDragEventArgsbelirler.

değeri DragAction iseContinueDragOver, olay işleme devam etmek için oluşturulur ve uygun görsel geri bildirimin ayarlanabilmesi GiveFeedback için olay yeni etkiyle oluşturulur. Geçerli bırakma efektlerinin listesi için numaralandırmaya DragDropEffects bakın.

DragOver ve GiveFeedback olayları eşlenir, böylece fare bırakma hedefi boyunca hareket ettikçe kullanıcıya farenin konumu hakkında aşağıdaki gibi en güncel geri bildirim verilir:

  • değeri DragAction ise Drop, bırakma efekti değeri kaynağa döndürülür, böylece kaynak uygulama kaynak veriler üzerinde uygun işlemi gerçekleştirebilir; örneğin, işlem bir taşıma işlemiyse verileri kesin.

  • değeri DragAction iseCancelDragLeave, olay oluşturulur.

Şunlara uygulanır