Je chargement des vignettes d'images dans un contrôle ListView avec succès:images File.Move d'un contrôle ListView
lsvImageThumbs.Items.Clear();
imgl_ImageThumbs.Images.Clear();
string[] files = Directory.GetFiles(@"C:\Documents and Settings\Etc\Desktop\Test");
for (int indexFiles = 0; indexFiles < files.Length; indexFiles++)
{
Image img = Image.FromFile(files[indexFiles]);
DirectoryInfo dinfo = new DirectoryInfo(files[indexFiles]);
imgl_ImageThumbs.Images.Add(dinfo.Name, img);
lsvImageThumbs.Items.Add(files[indexFiles], dinfo.Name, indexFiles);
}
Ensuite, je peux sélectionner les vignettes d'image et que vous souhaitez déplacer les fichiers dans un répertoire:
if (dlg.ShowDialog() == DialogResult.OK)
{
foreach (ListViewItem items in lsvImageThumbs.SelectedItems)
{
//File.Copy(items.Name, dlg.SelectedPath + "\\" + items.Text);
File.Move(items.Name, dlg.SelectedPath + "\\" + items.Text);
MessageBox.Show(items.Text + " Taken");
}
}
File.Copy fonctionne sans problème, mais pour File.Move je reçois l'erreur suivante:
The process cannot access the file because it is being used by another process.
Et votre question est? – Jodrell
Comment éviter le verrouillage - http://stackoverflow.com/questions/3661799/file-delete-failing-when-image-fromfile-was-called-prior-it-despite-making-copy – Nikolay
@Nikolay, je vous soupçonne ont raison – Jodrell