Faites glisser et déposez un dossier à partir de l'Explorateur Windows pour listBox dans C #
J'ai réussi dans le développement de code C# pour faire glisser des fichiers à partir de windows explorer pour listBox.
//Drag and Drop Files to Listbox
private void listBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
e.Effect = DragDropEffects.All;
else
e.Effect = DragDropEffects.None;
}
private void listBox1_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
foreach (string fileName in files)
{
listBox1.Items.Add(fileName);
}
}
Si je fais glisser un dossier dans la zone de liste, tous les fichiers qui sont dans le dossier pour être ajouté à la liste des éléments.
Il serait très utile pour moi si quelqu'un peut me fournir l'extrait de code pour la tâche ci-dessus.
Merci d'avance.
source d'informationauteur brat4hart
Vous devez vous connecter pour publier un commentaire.
Votre code pour
DragEnter
s'applique toujours pour les dossiers.Dans le
DragDrop
cas, vous pouvez récupérer filepaths et les chemins d'accès aux dossiers de la même manière. Si vous faites glisser des combinaisons de fichiers et de dossiers, ils seront tous dans votrefiles
tableau. Vous avez juste besoin de déterminer si les chemins d'accès sont des dossiers ou pas.Le code suivant récupère tous les chemins d'accès de tous les fichiers dans la racine de tous les dossiers ont chuté, et les chemins de tous les fichiers supprimés.
Notez que seuls les fichiers à la racine des dossiers chuté seront collectées. Si vous avez besoin pour obtenir tous les fichiers dans l'arborescence de dossiers, vous aurez besoin de faire un peu de récursivité pour recueillir tous les.
si
fileName
est un répertoire, vous pouvez créer unDirectoryInfo
objet et une boucle sur tous les fichiers (et les sous-dossiers)vous pouvez jeter un oeil à ce code:
http://weblogs.asp.net/israelio/archive/2004/06/23/162913.aspx
(vous n'avez pas besoin d'utiliser un
DirectoryInfo
objet, vous pouvez également utiliser les méthodes statiques de laDirectory
classe