打开多个文件(OpenFileDialog,C#)

我正在尝试使用OpenFileDialog一次打开多个文件,使用FileNames而不是FileName 。 但我无法在任何地方看到任何关于如何实现这一点的例子,甚至在MSDN上都没有。 据我所知 – 它也没有任何文件。 有没有人这样做过?

您必须将OpenFileDialog.Multiselect属性值设置为true,然后访问OpenFileDialog.FileNames属性。

检查此样本

 private void Form1_Load(object sender, EventArgs e) { InitializeOpenFileDialog(); } private void InitializeOpenFileDialog() { // Set the file dialog to filter for graphics files. this.openFileDialog1.Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "All files (*.*)|*.*"; // Allow the user to select multiple images. this.openFileDialog1.Multiselect = true; // ^ ^ ^ ^ ^ ^ ^ this.openFileDialog1.Title = "My Image Browser"; } private void selectFilesButton_Click(object sender, EventArgs e) { DialogResult dr = this.openFileDialog1.ShowDialog(); if (dr == System.Windows.Forms.DialogResult.OK) { // Read the files foreach (String file in openFileDialog1.FileNames) { // Create a PictureBox. try { PictureBox pb = new PictureBox(); Image loadedImage = Image.FromFile(file); pb.Height = loadedImage.Height; pb.Width = loadedImage.Width; pb.Image = loadedImage; flowLayoutPanel1.Controls.Add(pb); } catch (SecurityException ex) { // The user lacks appropriate permissions to read files, discover paths, etc. MessageBox.Show("Security error. Please contact your administrator for details.\n\n" + "Error message: " + ex.Message + "\n\n" + "Details (send to Support):\n\n" + ex.StackTrace ); } catch (Exception ex) { // Could not load the image - probably related to Windows file system permissions. MessageBox.Show("Cannot display the image: " + file.Substring(file.LastIndexOf('\\')) + ". You may not have permission to read the file, or " + "it may be corrupt.\n\nReported error: " + ex.Message); } } }