ToolStripItem.QueryContinueDrag Olay

Tanım

Sürükle ve bırak işlemi sırasında gerçekleşir ve sürükle ve bırak işleminin iptal edilip edilmeyeceğini tespit etmek için sürükle kaynağına izin verir.Occurs during a drag-and-drop operation and allows the drag source to determine whether the drag-and-drop operation should be canceled.

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ü

QueryContinueDragEventHandler
Öznitelikler

Örnekler

Aşağıdaki kod örneği, bu üyenin kullanımını gösterir.The following code example demonstrates the use of this member. Örnekte olay işleyicisi, olayın oluşumunu raporlar QueryContinueDrag .In the example, an event handler reports on the occurrence of the QueryContinueDrag event. Bu rapor, olayın ne zaman meydana oluştuğunu öğrenmenize yardımcı olur ve hata ayıklamada size yardımcı olabilir.This report helps you to learn when the event occurs and can assist you in debugging. Birden çok olayı veya sıklıkla oluşan olayları raporlamak için, MessageBox.Show Console.WriteLine iletiyi bir çok satırlı olarak değiştirmeyi veya eklemeyi düşünün TextBox .To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

Örnek kodu çalıştırmak için, veya gibi öğesinden devralan bir türün örneğini içeren bir projeye yapıştırın ToolStripItem ToolStripButton ToolStripMenuItem .To run the example code, paste it into a project that contains an instance of a type that inherits from ToolStripItem, such as a ToolStripButton or ToolStripMenuItem. Sonra örneği adlandırın ToolStripItem1 ve olay işleyicisinin olayla ilişkilendirildiğinden emin olun QueryContinueDrag .Then name the instance ToolStripItem1 and ensure that the event handler is associated with the QueryContinueDrag event.

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

QueryContinueDragSürükle ve bırak işlemi sırasında klavyede veya fare düğmesi durumunda değişiklik yapıldığında olay tetiklenir.The QueryContinueDrag event is raised when there is a change in the keyboard or mouse button state during a drag-and-drop operation. QueryContinueDragOlay sürükle ve bırak işleminin iptal edilip edilmeyeceğini belirlemede kaynak olarak izin verir.The QueryContinueDrag event allows the drag source to determine whether the drag-and-drop operation should be canceled.

Aşağıdaki açıklamalar, sürükle ve bırak işlemleriyle ilgili olayların nasıl ve ne zaman yapıldığını açıklamaktadır.The following remarks describe how and when events related to drag-and-drop operations are raised.

DoDragDropYöntemi, geçerli imleç konumunun altındaki öğeyi belirler.The DoDragDrop method determines the item under the current cursor location. Sonra öğenin geçerli bir bırakma hedefi olup olmadığını denetler.It then checks to see if the item is a valid drop target.

Öğe geçerli bir bırakma hedefi ise, GiveFeedback olay, sürükle ve bırak etkimiyle belirtilen şekilde oluşturulur.If the item is a valid drop target, the GiveFeedback event is raised with the drag-and-drop effect specified. Sürükle ve bırak efektlerinin bir listesi için bkz DragDropEffects . sabit listesi.For a list of drag-and-drop effects, see the DragDropEffects enumeration.

Fare imleç konumu, klavye durumu ve fare düğmesi durumundaki değişiklikler aşağıdaki şekilde izlenir:Changes in the mouse cursor position, keyboard state, and mouse button state are tracked in the following manner:

  • Kullanıcı bir pencere dışına geçerse DragLeave olay tetiklenir.If the user moves out of a window, the DragLeave event is raised.

  • Fare başka bir öğeye girerse DragEnter Bu denetim için öğesi oluşturulur.If the mouse enters another item, the DragEnter for that control is raised.

  • Fare hareketi, ancak aynı öğe içinde kalırsa DragOver olay tetiklenir.If the mouse moves but stays within the same item, the DragOver event is raised.

Klavye veya fare düğmesi durumunda bir değişiklik varsa, QueryContinueDrag olay tetiklenir ve sürüklemeye devam edilip edilmeyeceğini, verileri bırakmaya mi veya olayın özelliğinin değerine bağlı olarak işlemi iptal etmeyi mi belirler Action QueryContinueDragEventArgs .If there is a change in the keyboard or mouse button state, the QueryContinueDrag event is raised and determines whether to continue the drag, to drop the data, or to cancel the operation based on the value of the Action property of the event's QueryContinueDragEventArgs.

Değeri DragAction ise Continue , DragOver olay işleme devam etmek için oluşturulur ve GiveFeedback ilgili görsel geri bildirimin ayarlanabilmesi için olay yeni efekte getirilir.If the value of DragAction is Continue, the DragOver event is raised to continue the operation and the GiveFeedback event is raised with the new effect so appropriate visual feedback can be set. Geçerli bırakma efektlerinin bir listesi için bkz DragDropEffects . sabit listesi.For a list of valid drop effects, see the DragDropEffects enumeration.

DragOverVe GiveFeedback olayları, fare bırakma hedefi arasında gezinildiği için eşleştirilmiştir, bu da kullanıcıya, fare konumu üzerinde en güncel geri bildirimde bulunmak için aşağıdaki gibi.The DragOver and GiveFeedback events are paired so that as the mouse moves across the drop target, the user is given the most up-to-date feedback on the mouse's position, as follows:

  • Değeri DragAction ise Drop , bırakma efekti değeri kaynağa döndürülür, böylece kaynak uygulama kaynak verilerde uygun işlemi gerçekleştirebilir; Örneğin, işlem bir taşıma ise verileri kesin.If the value of DragAction is Drop, the drop effect value is returned to the source, so the source application can perform the appropriate operation on the source data; for example, cut the data if the operation was a move.

  • Değeri DragAction ise Cancel , DragLeave olay tetiklenir.If the value of DragAction is Cancel, the DragLeave event is raised.

Şunlara uygulanır