拖放不適用於C#Winforms應用程序

我正在嘗試建立一個視窗表單,我可以刪除文件/文件夾.

我在WinForms應用程序中有以下程式碼

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_DragEnter(object sender, DragEventArgs e)
    {
        Debug.Print("DragEnter");
    }

    private void Form1_DragDrop(object sender, DragEventArgs e)
    {
        MessageBox.Show("Dropped!");
    }
}

我已將AllowDrop屬性設定為true.

我已經嘗試在Visual Studio中的除錯中執行該應用程序.

根據其他類似問題的答案,我嘗試以管理員身份執行已編譯的exe.

我已經嘗試不以管理員身份執行已編譯的exe.

但無論我做什麼,我都無法觸發DragDrop事件.但是,DragEnter事件會觸發.我錯過了什麼?

你的DragDropEffect設定得恰當嗎?嘗試將其放在DragEnter事件處理程序方法中:

private void Form1_DragEnter(object sender, DragEventArgs e)
    {
        Console.WriteLine("DragEnter!");
        e.Effect = DragDropEffects.Copy;
    }

預設情況下,它設定為DragDropEffects.None,因此Drop事件不會觸發.

翻譯自:https://stackoverflow.com/questions/26628492/drag-and-drop-not-working-in-c-sharp-winforms-application