Glisser-Déposer ne fonctionne pas en C#, Winforms Application

Je suis en train de créer un formulaire windows sur qui je peut supprimer un fichier/dossier.

J'ai le code suivant dans une application 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!");
    }
}

J'ai mis la propriété AllowDrop de vrai.
J'ai essayé de lancer l'application de débogage dans Visual Studio.
Basé sur les réponses à d'autres questions similaires, j'ai essayé de lancer l'exe compilé en tant qu'administrateur.
J'ai essayé de lancer l'exe compilé pas en tant qu'administrateur.

Mais quoi que je fasse, je n'arrive pas à l'événement DragDrop pour le feu. L'événement DragEnter ne feu, cependant. Ce qui me manque?

  • Avez-vous vérifier si vous avez accidentellement perdu la connexion entre l'événement DragDrop et Form1_DragDrop gestionnaire? Désolé, si vous l'avez fait.
  • Est-ce une forme ordinaire, ou avez-vous ajouté des contrôles? Si vous tomber sur une forme de contrôle, il sera ce que le contrôle qui est responsable.
  • Glisser-Déposer ne fonctionne pas si vous exécutez Visual Studio / de votre application en tant qu'administrateur et de l'Explorateur Windows s'exécute sous votre compte normal.
  • personne ne sait pourquoi un tel ridicule existe?
  • De sécurité. Il a utilisé pour être de communication COM enveloppé de sorte qu'il ressemblait à de l'api Win32 et ce serait une MAUVAISE idée pour permettre à un utilisateur en cours d'exécution sur la zone d'accès d'un autre utilisateur de la mémoire.... Comment il est aujourd'hui, probablement le même.
  • Mon upvote pour @Archlight n'ai pas de travail, donc de noter ici: Admin vs priorité Inférieure de l'utilisateur était mon problème a été. Exécuter en tant qu'Admin et tout fonctionne très bien.