// Change Image cover private void picBox_Click(object sender, EventArgs e) { // Check if there is a seleted item if (lvManga.SelectedItems.Count > 0) { string selectedFilename = GlobalVar.GetAFile("Select new Cover image for Manga...", "JPG Files (*.jpg)|*.jpg", ""); if (String.IsNullOrWhiteSpace(selectedFilename) == false) { string mangapath = lvManga.SelectedItems[0].Tag.ToString(); string newCoverPath = Path.GetFullPath(mangapath) + "\\cover.jpg"; string imageKey = lvManga.SelectedItems[0].SubItems[1].Tag.ToString(); // Confirm change if (GlobalVar.ShowYesNo("Changing Image cover file. Confirm?")) { // Dispose previous image if ((picBox.Image != null) && (imageKey != DEF_IMGKEY)) { picBox.Image.Dispose(); } // If imageKey is NOT the default imageKey if (imageKey != DEF_IMGKEY) { // If imageKey already exists, remove it from image list if (coverListLarge.Images.ContainsKey(imageKey)) { coverListLarge.Images.RemoveByKey(imageKey); } } else { // If imagekey is the default, Get a NEW Unique ImageKey imageKey = GetUniqueImgKey(); } // Try Copy cover file to manga folder location try { // Copy, replace existing File.Copy(selectedFilename, newCoverPath, true); ImgListAdd(imageKey, Image.FromFile(newCoverPath)); SetPicboxImg(imageKey); } catch (Exception ex) { // LogError // Revert to default image imageKey = DEF_IMGKEY; GlobalVar.LogError(ex); } // Set the ImageKey on SubItem[1].Tag on LV Item lvManga.SelectedItems[0].SubItems[1].Tag = imageKey; // Set ImageKey for LV Item lvManga.SelectedItems[0].ImageKey = imageKey; // Refresh Manga ListView lvManga.Refresh(); } } } }