В моем приложении Windows на С# мне нравится получать несколько файлов в том же порядке, что и пользователь, выбирая файл в окне openfiledialog. Я получаю весь выбранный файл, но его порядок неверен. Кто-нибудь поможет мне решить эту проблему.
c # openfiledialog для выбора нескольких файлов в том же порядке, что и пользователь
Ответы (1)
Если вы посмотрите на документацию по интерфейсу базового элемента управления OPENFILENAME, вы увидите этот комментарий:
Если пользователь выбирает более одного файла, буфер lpstrFile возвращает путь к текущему каталогу, за которым следуют имена выбранных файлов.
И, кроме некоторых комментариев о символах-разделителях, используемых для разных сценариев, о том, что делать, если буфера недостаточно, и некоторых подробностях о поддержке устаревшей версии 8.3, вот и все. Другими словами, OpenFileDialog не предлагает никакого механизма для всплывающей информации о сортировке, поскольку базовое диалоговое окно Windows Common Dialog Box в любом случае не предлагает получить эту информацию через стандартный интерфейс.
Если вы должны сохранить его, вам нужно будет создать свою собственную форму или диалоговое окно, чтобы отслеживать выбор по порядку, и, честно говоря, вам, вероятно, будет лучше предоставить немного другой пользовательский интерфейс, который позволит пользователю изменить порядок файлов после того, как они выбрали их, подобно тому, как можно изменить порядок списков на некоторых мобильных устройствах.