Компонент ListView (из Windows Forms) предназначен для вывода текстовых данных. Создавая столбцы в нем, нельзя выбирать тип данных (например, изображения). Тем не менее способ вывода изображений в элемент управления ListView существует. Рассмотрим его на примере.
Построение интерфейса программы с компонентом ListView
Создадим новый Windows Forms-проект в Visual Studio на языке C#. Поместим на форму элемент управления ListView.
Добавим в ListView три столбца (с помощью пункта быстрого меню «ListView Задачи» под названием «Изменить столбцы…») с заголовками «Изображение», «Имя» и «Фамилия» (за название столбца отвечает параметр Text).
Также изменим параметр ListView «Представление» на значение «Details» — таким образом созданные столбцы будут отображаться на ListView.
В итоге получим следующий готовый интерфейс с ListView:
Также следует отметить, что в папке bin/Debug проекта был создан каталог с названием images и в него было помещено два изображения с именами «1.jpg» и «2.jpg».
Написание кода программы, выводящей изображения в ListView
Создадим метод LoadData(), в теле которого будем производить вывод данных (в том числе картинок) в ListView. Ниже представлен его код с подробными комментариями.
Отметим, что очищать listView1 в начале метода здесь нет необходимости. Мы поместили данное выражение потому, что в реальных программах обычно производить очистку требуется — потому что вызов метода загрузки данных может производиться несколько раз (после каждого изменения набора данных).
Создание «пустого» изображения emptyImage (залитого белым цветом) сделано на случай отсутствия изображения у какой-либо строки данных в ListView. Добавление null в список ImageList возможно, но ListView работать с null не может и выдаст ошибку. Поэтому при отсутствии изображения можно (как и показано в примере) вывести «пустую» белую картинку.
Заметим также, что рядом с изображением можно выводить текст. Для этого замените пустую строку «» при создании ListViewItem на нужный текст.
Поместим вызов метода LoadData() в конструктор класса формы Form1. Таким образом данные будут загружаться при запуске программы.
Запустим программу.
Скачать исходник
Видеоурок на тему вывода изображений в ListView
Поделиться в соц. сетях: