Marc Kane Ответов: 2

Мультиселект в диалоговом окне открыть файл


Я хочу, чтобы у пользователя была возможность выбрать несколько файлов через openfiledialog, который у меня есть в моем коде, но затем, если пользователь выбирает файл из одной папки, он ограничен в выборе другого файла только из этой конкретной папки. Как лучше всего подойти к этой проблеме?

Что я уже пробовал:

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim openfiledialog1 As New OpenFileDialog
    With openfiledialog1
        .Title = "Select your models"
        .Filter = "Solidworks Files|*.sldprt;"
        .Multiselect = True
    End With
    If OpenFileDialog1.ShowDialog = DialogResult.OK Then
        For Each mfile As String In openfiledialog1.FileNames

'' Add all filenames in a txt file, in a column
        Next
    End If
End Sub

2 Ответов

Рейтинг:
2

OriginalGriff

Как сказал Сандип, стандартный элемент управления не позволяет выбирать файлы из нескольких папок. Вы можете расширить существующий диалог, но он решительно нетривиален: Расширьте OpenFileDialog и SaveFileDialog простым способом[^] - код там есть на C#, но это может помочь вам понять его: Преобразователь кода C# в VB и VB в C# – Telerik[^].
Другое решение - "свернуть свой собственный" диалог с несколькими заполнителями, но вам придется долго и упорно думать о том, как именно вы хотите, чтобы это работало, прежде чем вы начнете этот путь.

Более быстрое решение-собрать свой собственный список вне диалогового окна и позволить пользователю открыть стандартный диалог несколько раз, чтобы добавить файлы в вашу коллекцию.


Рейтинг:
19

Sandeep Mewara

Для этого вам придется создать свой собственный пользовательский элемент управления. По умолчанию OpenFileDialog не поддерживает множественный выбор файлов из разных папок.