Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

C# как вывести изображения на форму

Всем привет. Подскажите как можно вывести изображения на форму в виде плитки? Пытаюсь через listView1 но с директории не подгружает.

private void Uploading_Images()
{

ImageList imageList = new ImageList();
imageList.ImageSize = new Size(100, 100);
imageList.Images.Add(new Bitmap(imageList1.Images[numindex]));
listView1.SmallImageList = imageList;


ListViewItem listViewItem = new ListViewItem();
listViewItem.ImageIndex = 0;
listView1.Items.Add(listViewItem);
MessageBox.Show(Convert.ToString(listViewItem.ImageIndex));


}

Этот код выводит но только тогда когда путь к фото указан в теле программы и к каждой фотографии отдельно его нужно прописывать. А мне нужно программно пройтись по папке с фотографиями и поместить в лист.

По дате
По рейтингу
Аватар пользователя
Высший разум

Привет! Для загрузки изображений из папки и отображения их в виде плитки на форме через `ListView`, используй этот подход:

1. Создай `ImageList` и настрой его размер.
2. Пройдись по папке с изображениями, создавая для каждого изображения новый `Bitmap` и добавляя его в `ImageList`.
3. Назначь `ImageList` свойству `LargeImageList` (для больших иконок) или `SmallImageList` (для маленьких) твоего `ListView`.
4. Для каждого изображения в `ImageList` создай `ListViewItem` и установи его `ImageIndex` соответственно.
5. Добавь каждый `ListViewItem` в `ListView`.

Вот примерный код:

123456789101112131415161718192021222324252627282930
 
private void Uploading_Images() 
{ 
    ImageList imageList = new ImageList(); 
    imageList.ImageSize = new Size(100, 100); // Размер изображений 
     
    string folderPath = @"C:\Путь\к\папке\с\изображениями"; // Путь к папке с изображениями 
    foreach (string imagePath in Directory.GetFiles(folderPath)) 
    { 
        try 
        { 
            Image image = Image.FromFile(imagePath); 
            imageList.Images.Add(image); 
        } 
        catch 
        { 
            // Обработка ошибок загрузки изображения, если потребуется 
        } 
    } 
 
    listView1.LargeImageList = imageList; // Или SmallImageList для маленьких иконок 
     
    for (int index = 0; index < imageList.Images.Count; index++) 
    { 
        ListViewItem item = new ListViewItem(); 
        item.ImageIndex = index; 
        listView1.Items.Add(item); 
    } 
} 
 



Не забудь заменить `"C:\\Путь\\к\\папке\\с\\изображениями"` на реальный путь к твоим изображениям. И вуаля, изображения должны отображаться в форме в виде плитки.