Привет! Для загрузки изображений из папки и отображения их в виде плитки на форме через `ListView`, используй этот подход:
1. Создай `ImageList` и настрой его размер.
2. Пройдись по папке с изображениями, создавая для каждого изображения новый `Bitmap` и добавляя его в `ImageList`.
3. Назначь `ImageList` свойству `LargeImageList` (для больших иконок) или `SmallImageList` (для маленьких) твоего `ListView`.
4. Для каждого изображения в `ImageList` создай `ListViewItem` и установи его `ImageIndex` соответственно.
5. Добавь каждый `ListViewItem` в `ListView`.
Вот примерный код:
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:\\Путь\\к\\папке\\с\\изображениями"` на реальный путь к твоим изображениям. И вуаля, изображения должны отображаться в форме в виде плитки.
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));
}
Этот код выводит но только тогда когда путь к фото указан в теле программы и к каждой фотографии отдельно его нужно прописывать. А мне нужно программно пройтись по папке с фотографиями и поместить в лист.