/// <summary> /// Fonction évènementielle qui traite la selection des Vignettes de photos. /// </summary> /// <param name="sender">Emetteur: vignette de photo</param> /// <param name="e">Paramètre de l'évènement</param> private void ClickOnVignettePhoto(object sender, EventArgs e) { vignettePhotoSelected = sender as VignetteNVPhoto; //Si la liste de photos (vignettes) sélectionnée contient déjà la vignette if (listPhotosSelected.Contains(vignettePhotoSelected)) { //Alors on la déselectionne: on l'enlève de la liste de photos sélectionnées et on met à jour son apparence. listPhotosSelected.Remove(vignettePhotoSelected); vignettePhotoSelected.BackColor = System.Drawing.SystemColors.Control; //La variable représentant la dernière photo sélectionnée prend comme valeur: if (listPhotosSelected.Count > 0) { //La dernière vignette de la liste de photos sélectionnées. vignettePhotoSelected = listPhotosSelected.LastOrDefault(); } else if (listPhotosSelected.Count == 0) { //Ou null si cette liste est vide. vignettePhotoSelected = null; } } //Sinon on l'ajoute à la liste de photos sélectionnées et on modifie son apparence en conséquence. else if (!listPhotosSelected.Contains(vignettePhotoSelected)) { listPhotosSelected.Add(vignettePhotoSelected); vignettePhotoSelected.BackColor = System.Drawing.SystemColors.Highlight; } }
/// <summary> /// Fonction qui instancie une nouvelle vignette correspondant à une image (Picture) afin de l'afficher sur l'interface. /// </summary> /// <param name="pic">Objet Picture correspondant à la vignette.</param> private void AddControlVignettePhoto(Picture pic) { VignetteNV vignetteImage = new VignetteNVPhoto(pic); AllPhotosGrid.Controls.Add(vignetteImage); vignetteImage.ehClickOnAlbum += new EventHandler(ClickOnVignettePhoto); vignetteImage.ehMouseDown += new MouseEventHandler(MouseDownVignette); }