Большая проблема с WinForms заключается в том, что это всего лишь небольшая абстракция над собственными элементами управления пользовательского интерфейса Windows. Поскольку WinForms поддерживает требуемую функциональность, такую как значки в ListView, как упомянул Тим, относительно легко выполнить задачу, но как только WinForms не поддерживает желаемую функциональность, вам необходимо реализовать ее практически с нуля. К счастью, элементы управления List в WinForms предоставляют относительно простой способ рисования собственного контента с использованием функции рисования владельца.
Более простой способ - взглянуть на WPF, который на намного более универсален, когда требуется более специализированная функциональность. Хотя для этого требуется .Net Framework 3.0 или выше, а также немного более крутая кривая обучения.