С макушки головы без IDE, поэтому могут быть ошибки!попробуйте это
var files = System.IO.Directory.GetFiles(System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + "\\icons")
файлы будут массивом строк, содержащих все файлы в каталоге, которые вы можете затем зациклить, как вы использовали выше, используя массив
openFileDialog1.FileNames
\ может неперед значками, я не могу вспомнить, удаляет ли GetDirectoryName завершающий \ из пути или нет.
Вы также можете передать фильтр в GetFiles, чтобы он возвращал только определенные типы файлов.
HTH
РЕДАКТИРОВАТЬ: я отредактировал код выше, чтобы использовать
System.Windows.Forms.Application.ExecutablePath
вместо
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase
При тестировании кода теперь у меня есть доступ к IDE, кажется,Свойство CodeBase добавляет путь к файлу file: ///, из-за которого моя среда IDE взорвалась с ошибкой о том, что
форматы URI не поддерживаются
код теперь работает в моей среде IDE.Убедитесь, что ваш каталог значков находится в том же каталоге, что и ваш исполняемый файл, поэтому в моем случае .... bin \ debug \
Попробуйте и, если это все равно не получится, дайте мне знать!