Control.DragDrop Olay

Tanım

Sürükle ve bırak işlemi tamamlandığında gerçekleşir.

C#
public event System.Windows.Forms.DragEventHandler DragDrop;
C#
public event System.Windows.Forms.DragEventHandler? DragDrop;

Olay Türü

Örnekler

Bu kod alıntısı, olayı kullanmayı DragDrop gösterir. DoDragDrop Tam kod örneği için yöntemine bakın.

C#
private void ListDragTarget_DragDrop(object sender, DragEventArgs e)
{
    // Ensure that the list item index is contained in the data.
    if (e.Data.GetDataPresent(typeof(System.String)))
    {
        Object item = e.Data.GetData(typeof(System.String));

        // Perform drag-and-drop, depending upon the effect.
        if (e.Effect == DragDropEffects.Copy ||
            e.Effect == DragDropEffects.Move)
        {
            // Insert the item.
            if (indexOfItemUnderMouseToDrop != ListBox.NoMatches)
                ListDragTarget.Items.Insert(indexOfItemUnderMouseToDrop, item);
            else
                ListDragTarget.Items.Add(item);
        }
    }
    // Reset the label text.
    DropLocationLabel.Text = "None";
}

Açıklamalar

ve XY özellikleri DragEventArgs , istemci koordinatlarında değil ekran koordinatlarındadır. Aşağıdaki Visual C# kodu satırı, özellikleri bir istemciye Pointdönüştürür.

Point clientPoint = targetControl.PointToClient(new Point(de.X, de.Y));

Not

.NET Framework 2.0'dan önceki sürümlerde, bir Windows Formu'na ile DragEnter ve olayları koyar UserControl ve tasarım zamanında üzerine bir şey UserControl sürükleyip bırakırsanız ve DropDropDropEnterDragDrop olayları tetiklenir. Ancak, çözümü kapatıp yeniden açtığınızda ve DragEnterDragDrop olayları yeniden tetiklenmez.

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Ayrıca bkz.