ToolStripItem.GiveFeedback Olay

Tanım

Sürükleme işlemi sırasında oluşur.Occurs during a drag operation.

public:
 event System::Windows::Forms::GiveFeedbackEventHandler ^ GiveFeedback;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.GiveFeedbackEventHandler GiveFeedback;
[<System.ComponentModel.Browsable(false)>]
member this.GiveFeedback : System.Windows.Forms.GiveFeedbackEventHandler 
Public Custom Event GiveFeedback As GiveFeedbackEventHandler 

Olay Türü

GiveFeedbackEventHandler
Ö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 GiveFeedback .In the example, an event handler reports on the occurrence of the GiveFeedback 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 GiveFeedback .Then name the instance ToolStripItem1 and ensure that the event handler is associated with the GiveFeedback event.

private void ToolStripItem1_GiveFeedback(Object sender, GiveFeedbackEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "GiveFeedback Event" );
}
Private Sub ToolStripItem1_GiveFeedback(sender as Object, e as GiveFeedbackEventArgs) _ 
     Handles ToolStripItem1.GiveFeedback

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"GiveFeedback Event")

End Sub

Açıklamalar

GiveFeedbackBir sürükle ve bırak işlemi başlatıldığında olay tetiklenir.The GiveFeedback event is raised when a drag-and-drop operation is started. Olay, sürükle GiveFeedback ve bırak işlemi sırasında kullanıcıya görsel geri bildirimde bulunmak için fare işaretçisinin görünüşünü değiştirmek üzere bir sürükleme olayının kaynağına izin verir.The GiveFeedback event allows the source of a drag event to modify the appearance of the mouse pointer in order to give the user visual feedback during a drag-and-drop operation.

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