// Open the file.
        private void PictureBox_DoubleClick(object sender, EventArgs e)
        {
            // Get the file's information.
            BorderedPictureBox pic = sender as BorderedPictureBox;

            selectPictureBox(pic);

            DialogResult = DialogResult.OK;
            Close();
        }
        private void selectPictureBox(BorderedPictureBox pictureBox)
        {
            if (_currentSelectedBox != null)
            {
                _currentSelectedBox.BorderColor = null;
                _currentSelectedBox.Refresh();
            }

            _currentSelectedBox = pictureBox;

            _currentfilePath = $"/uploads/OlStyles{pictureBox.Tag.ToString().Substring(_currentDir.Length).Replace("\\","/")}";

            pictureBox.BorderColor = Color.Black;

            pictureBox.Refresh();
        }
        // Display thumbnails for the selected directory.
        private void updateThunbmnails(string selectPath = null)
        {
            // Delete the old PictureBoxes.
            foreach (BorderedPictureBox pic in PictureBoxes)
            {
                //pic.Click -= PictureBox_Click;
                pic.DoubleClick -= PictureBox_DoubleClick;
                pic.Dispose();
            }
            flpThumbnails.Controls.Clear();
            PictureBoxes = new List <BorderedPictureBox>();

            // If the directory doesn't exist, do nothing else.
            if (!Directory.Exists(_currentDir))
            {
                return;
            }

            // Get the names of the files in the directory.
            List <string> filenames = new List <string>();

            string[] patterns =
            { "*.png", "*.gif", "*.jpg", "*.bmp", "*.tif" };
            foreach (string pattern in patterns)
            {
                filenames.AddRange(Directory.GetFiles(_currentDir,
                                                      pattern, SearchOption.TopDirectoryOnly));
            }
            filenames.Sort();

            // Load the files.
            foreach (string filename in filenames)
            {
                // Load the picture into a PictureBox.
                BorderedPictureBox pic = new BorderedPictureBox();

                pic.ClientSize = new Size(ThumbWidth, ThumbHeight);
                pic.Image      = new Bitmap(filename);

                // If the image is too big, zoom.
                if ((pic.Image.Width > ThumbWidth) ||
                    (pic.Image.Height > ThumbHeight))
                {
                    pic.SizeMode = PictureBoxSizeMode.Zoom;
                }
                else
                {
                    pic.SizeMode = PictureBoxSizeMode.CenterImage;
                }

                // Add the DoubleClick event handler.
                pic.Click       += PictureBox_Click;
                pic.DoubleClick += PictureBox_DoubleClick;

                // Add a tooltip.
                FileInfo file_info = new FileInfo(filename);

                pic.Tag = file_info;

                if (pic.Tag.ToString() == selectPath)
                {
                    selectPictureBox(pic);
                }

                // Add the PictureBox to the FlowLayoutPanel.
                pic.Parent = flpThumbnails;
            }
        }