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 P>
5 Réponses :
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. p>
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; } }
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). P>
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 p>
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?) P>