ListView является правильным выбором здесь. Также добавьте в форму ImageList, в котором хранятся изображения. Установите для свойства ViewView ListView значение Tile, а для его размера TileSize - нужный размер плиток. Для каждого элемента, добавляемого в представление списка, установите для его свойства Text метку, которую вы хотите показать справа от изображения. И свойство ImageIndex для индекса изображения в ImageList. Вы можете попробовать все это в конструкторе без написания кода.