Salut
Je suppose que tu travailles en Winforms.
Pour la partie Drag and Drop :
- Sur ta picturebox, il faut mettre la propriété AllowDrop à true
- Dans les événements de ta picturebox, il faut ajouter un délégué pour DragDrop et un autre pour DragEnter
- Dans le délégué DragEnter (genre void maPictureBox_DragEnter(object sender, DragEventArgs e) ), tu changes l'effet de ta souris si c'est bien un fichier :
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Copy;
}
- Dans le délégué DragDrop (genre void maPictureBox_DragDrap(object sender, DragEventArgs e) ), tu récupères la liste des fichiers (même s'il n'y en a qu'un), et tu la traites :
string[] fichiers = (string[])(e.Data.GetData(DataFormats.FileDrop)); // Je sais, ça s'invente pas
// De là, tu as le chemin d'accès à ton fichier.
Maintenant que tu as récupéré le chemin d'accès à ton fichier, tu vas devoir faire les choses suivantes :
- Regarder dans ta base de données si tu as déjà une jaquette pour ce film, et si c'est le cas, récupérer son nom (SELECT nomJaquette FROM films WHERE idFilm = ...)
- Copier la nouvelle image vers le répertoire (File.Copy())
- Supprimer l'ancien fichier (File.Delete())
- Mettre à jour ta base de données (UPDATE films SET nomJaquette ... WHERE idFilm ...)
En revanche, fais attention au cas où les noms de tes fichiers seraient identiques.
Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -