7
votes

Faites glisser des fichiers ou des dossiers dans la zone de texte? C #

Comment faire glisser des fichiers ou des dossiers dans une zone de texte? Je veux mettre le nom de fente dans cette zone très textuelle. C # .NET


0 commentaires

5 Réponses :


0
votes

Contrôle a divers événements pour Traiter avec glisser-déposer - vous n'avez probablement besoin que d'examiner l'événement DragDrop pour ce que vous voulez.


0 commentaires

18
votes

J'ai écrit ce code en fonction de cette lien xxx


0 commentaires

5
votes

Set AllowDrop à true sur votre zone de texte et écrivez le code suivant pour les événements Dragdrop et Dragenter:

    private void textBox1_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            e.Effect = DragDropEffects.Copy;
        }
    }

    private void textBox1_DragDrop(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop);
            textBox1.Lines = fileNames;
        }
    }


0 commentaires

1
votes

codeProject a un très bel exemple de faire cela, y compris comment Activez glisser et déposez les deux sens (à partir d'Explorer à votre application et de votre application à Explorer).


0 commentaires

0
votes

Si vous obtenez les messages d'erreur ci-dessous, cela m'a été appliqué lors de l'utilisation de Visual Studio 2015, essayez e.effect au lieu de E.effects

Code de sévérité Description State de suppression de la ligne de fichier de projet Erreur CS1061 'Drrageventargs' ne contient pas de définition pour "Effects" et aucune méthode d'extension "Effets" Accepter un premier argument de type "drageventargs" (vous manque-t-il d'une directive ou d'une référence d'assemblage?)


0 commentaires