ToolStripItem.DragEnter Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kullanıcı bir öğeyi bu öğenin istemci alanına sürüklediğinde gerçekleşir.
public:
event System::Windows::Forms::DragEventHandler ^ DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler? DragEnter;
[<System.ComponentModel.Browsable(false)>]
member this.DragEnter : System.Windows.Forms.DragEventHandler
Public Custom Event DragEnter As DragEventHandler
Olay Türü
- Öznitelikler
Örnekler
Aşağıdaki kod örneğinde ve Y özelliklerinin bir istemciye nasıl dönüştürüldüğü X gösterilmektedirPoint. Bu kod örneği, sınıfı için ToolStripRenderer sağlanan daha büyük bir örneğin parçasıdır.
// This method defines the DragOver event behavior.
protected override void OnDragOver(DragEventArgs dea)
{
base.OnDragOver(dea);
// Get the ToolStripButton control
// at the given mouse position.
Point p = new Point(dea.X, dea.Y);
ToolStripButton item = this.GetItemAt(
this.PointToClient(p)) as ToolStripButton;
// If the ToolStripButton control is the empty cell,
// indicate that the move operation is valid.
if( item == this.emptyCellButton )
{
// Set the drag operation to indicate a valid move.
dea.Effect = DragDropEffects.Move;
}
}
' This method defines the DragOver event behavior.
Protected Overrides Sub OnDragOver(dea As DragEventArgs)
MyBase.OnDragOver(dea)
' Get the ToolStripButton control
' at the given mouse position.
Dim p As New Point(dea.X, dea.Y)
Dim item As ToolStripButton = CType(Me.GetItemAt(Me.PointToClient(p)), ToolStripButton)
' If the ToolStripButton control is the empty cell,
' indicate that the move operation is valid.
If item Is Me.emptyCellButton Then
' Set the drag operation to indicate a valid move.
dea.Effect = DragDropEffects.Move
End If
End Sub
Açıklamalar
Olay DragEnter , kullanıcı sürükle ve bırak işlemi sırasında fare imlecini öğenin üzerine ilk kez sürüklediğinde tetikler.
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.
Not
ve XY özellikleri DragEventArgs , istemci koordinatlarında değil ekran koordinatlarındadır.
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.