Если кто-то не имеет лучшего обоснования, я бы сказал: просто делайте то, что уважает простоту и хорошие практики, такие как "не повторяйте себя".
Аргумент в пользу или ImageList
- Для небольших коллекций изображений, которые вы устанавливаете в дизайнере Visual Studio, он предлагает редактор ImageList, который поможет вам и сохраняет связанные изображения в исходном коде, а не сохраняет коллекции отдельно.
- Если некоторым другим элементам управления вам необходимо поддерживать ImageList, вы уже заплатили цену, вы также можете использовать это для кнопок.
Аргумент в пользу или изображения
Когда у вас есть выбор:
Случай с ImageList
- ImageList требует, чтобы вы каким-то образом управляли индексами изображений (целые числа или строки - и строковая манипуляция была ошибкой?), Явно или неявно.
- Компилятор не может проверить, правильно ли используются индексы или строки.
Случай с изображением
- Возможно, вам не понадобится управлять коллекцией. Вы можете использовать отдельные объекты для установки в свойстве Image.
- Даже если вам нужна коллекция, лучше. Вы можете индексировать коллекцию, используя любой желаемый тип ключа, например словарь. Если вы индексируете коллекцию с помощью Enum, компилятор может проверить время компиляции и помочь вам (Intellisense) при записи времени исходного кода.
Нижняя линия
Я бы предпочел вариант "Изображение" и обработал свою собственную коллекцию при необходимости с помощью Enum, но я бы назвал это личное предпочтение.