private void UpdatePreview(PreviewType type) { listViewFile.Visible = pictureBoxImagePreview.Visible = false; listViewFile.Items.Clear(); pictureBoxImagePreview.Image = null; switch (type) { case PreviewType.None: return; case PreviewType.File: iconImageList.Images.Clear(); iconImageList.Images.Add(Win32Util.GetIconForExtension(File.Name)); var fileItem = new ListViewItem(File.Name); listViewFile.Items.Add(fileItem); fileItem.ImageIndex = 0; listViewFile.Visible = true; RecenterIcon(); break; case PreviewType.Image: MemoryStream imgStream = new MemoryStream(File.Data); Image image; try { image = Image.FromStream(imgStream); } catch (Exception) { UpdatePreview(PreviewType.File); return; } pictureBoxImagePreview.Image = image; pictureBoxImagePreview.Size = image.Size; UpdatePictureBoxPosition(); pictureBoxImagePreview.Visible = true; break; } }