private void EndProcessFiles() { lbDuplicateSets.Items.Clear(); foreach (string hash in _crawler.Duplicates.Keys) { DuplicateList dupeList = new DuplicateList(tbSearchPath.Text); foreach (var duplicateFile in _crawler.Duplicates[hash]) { dupeList.AddFile(duplicateFile); } lbDuplicateSets.Items.Add(dupeList); } if (lbDuplicateSets.Items.Count > 0) { lbDuplicateSets.SelectedIndex = 0; } btnSearch.Enabled = true; tbSearchPath.Enabled = true; btnBrowse.Enabled = true; progressBar1.Visible = false; btnDelete.Visible = true; }
private void lbDuplicateSets_SelectedIndexChanged(object sender, EventArgs e) { duplicatesPanel.Controls.Clear(); DuplicateList dupeList = (DuplicateList)lbDuplicateSets.SelectedItem; int index = 0; foreach (var dupe in dupeList.GetDuplicates()) { try { Size resize; Image resizedImg; using (Image img = Image.FromFile(dupe.Filepath)) { resize = ThumbnailSize(img.Size, imageSize); resizedImg = new Bitmap(img, resize); } var pb = new PictureBox { Width = imageSize + 2, Height = imageSize + 2, SizeMode = PictureBoxSizeMode.CenterImage, Location = new Point(margin_left + (imageSize + imagePadding) * (index % rowSize), margin_top + (imageSize + imagePadding) * (int)(index / rowSize)), Image = resizedImg, BorderStyle = BorderStyle.FixedSingle }; duplicatesPanel.Controls.Add(pb); } catch (Exception ex) { Console.WriteLine("Loading image {0} hit exception {1}", dupe.Filepath, ex); } Label label = new Label(); label.Text = dupe.DisplayPath; label.Font = new Font(label.Font.FontFamily, 7.0f); label.Location = new Point(margin_left + (imageSize + imagePadding) * (index % rowSize) + 10, margin_top + (imageSize + imagePadding) * (int)(index / 3) + 200); label.Size = new Size(180, 20); label.TextAlign = ContentAlignment.MiddleCenter; duplicatesPanel.Controls.Add(label); index++; } }