// 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; } }