Share via


OpenFileDialog.Multiselect Özellik

Tanım

İletişim kutusunun birden çok dosya seçilmesine izin verip vermediğini belirten bir değer alır veya ayarlar.

public:
 property bool Multiselect { bool get(); void set(bool value); };
public bool Multiselect { get; set; }
member this.Multiselect : bool with get, set
Public Property Multiselect As Boolean

Özellik Değeri

true iletişim kutusu birden çok dosya birlikte veya eşzamanlı olarak seçilmesine izin veriyorsa; aksi takdirde , false. false varsayılan değerdir.

Örnekler

Aşağıdaki kod örneği, kullanıcının bir dizi resim seçmesine ve bunları formdaki denetimlerde PictureBox görüntülemesine olanak tanır. bir başlatmayıOpenFileDialog, ve Filter özelliklerini ayarlamayı Title ve özelliği true olarak ayarlayarak kullanıcının birden çok dosya seçmesine izin verme işlemini Multiselect gösterir. Bu kod örneği, formunuzun zaten adlı , OpenFileDialog adlı ve adlı openFileDialog1SelectFileButtonbir ButtonFlowLayoutPanelflowLayoutPanel1denetimi olduğunu varsayar.

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);
            }
        }
    }
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    InitializeOpenFileDialog()
End Sub

Private Sub SelectFileButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectFileButton.Click
    Dim dr As DialogResult = Me.OpenFileDialog1.ShowDialog()
    If (dr = System.Windows.Forms.DialogResult.OK) Then
        ' Read the files
        Dim file As String
        For Each file In OpenFileDialog1.FileNames
            ' Create a PictureBox for each file, and add that file to the FlowLayoutPanel.
            Try
                Dim pb As New PictureBox()
                Dim loadedImage As Image = Image.FromFile(file)
                pb.Height = loadedImage.Height
                pb.Width = loadedImage.Width
                pb.Image = loadedImage
                FlowLayoutPanel1.Controls.Add(pb)
            Catch SecEx As SecurityException
                ' 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: " & SecEx.Message & "\n\n" & _
                    "Details (send to Support):\n\n" & SecEx.StackTrace)
            Catch ex As Exception
                ' Could not load the image - probably permissions-related.
                MessageBox.Show(("Cannot display the image: " & file.Substring(file.LastIndexOf("\"c)) & _
                ". You may not have permission to read the file, or " + "it may be corrupt." _
                & ControlChars.Lf & ControlChars.Lf & "Reported error: " & ex.Message))
            End Try
        Next file
    End If
End Sub

Public Sub InitializeOpenFileDialog()
    ' Set the file dialog to filter for graphics files.
    Me.OpenFileDialog1.Filter = _
            "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + _
            "All files (*.*)|*.*"

    ' Allow the user to select multiple images.
    Me.OpenFileDialog1.Multiselect = True
    Me.OpenFileDialog1.Title = "My Image Browser"
End Sub

Açıklamalar

Seçili dosya adlarının FileNames tam listesine erişmek için özelliğini kullanın.

Şunlara uygulanır

Ayrıca bkz.