示例#1
0
        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++;
            }
        }