Как осуществить просмотр фотографий из папки в программе?

16de74d3720a4d6fb71cd853d87798ea.pngПрикрепил пример. Изначально в программе несколько кнопок. Переходя в раздел с фотографиями должно получиться что-то похожее, как на примере. ТО есть переходя в раздел открывается первая фотография расширения .jpg из папки, которая прописана в коде.Фото можно листать стрелками можно листать. Подскажите, пожалуйста, как такое можно сделать?
  • Вопрос задан
  • 1992 просмотра
Решения вопроса 1
JohnnyGat
@JohnnyGat
Стараюсь писать код, понятный человеку.
Скрин
f1419b9c0bf842509f3e184264c36b32.png


На форме:
- элемент Button (button1)
- элемент PictureBox (pictureBox1)
- элемент Button (button2)

Код
public partial class Form1 : Form
    {
        private int imageIndex;
        private string[] imageList;

        public Form1()
        {
            InitializeComponent();

            imageList = Directory.GetFiles("D:\\Test\\111", "*.jp*g");

            imageIndex = 0;

            pictureBox1.Image = Image.FromFile(imageList[imageIndex]);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            imageIndex--;
            if (imageIndex < 0)
                imageIndex = imageList.Length-1;

            pictureBox1.Image = Image.FromFile(imageList[imageIndex]);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            imageIndex++;
            if (imageIndex > imageList.Length-1)
                imageIndex = 0;

            pictureBox1.Image = Image.FromFile(imageList[imageIndex]);
        }
    }


imageIndex - номер отображаемой картинки из списка

imageList - список путей к файлам картинок

Directory.GetFiles("D:\\Test\\111", "*.jp*g"); - получить список путей к файлам из папки "D:\\Test\\111", по маске "*.jp*g" (чтобы "нашлись" файлы и jpeg и jpg) (если у тебя в этой папке только картинки - достаточно только первого параметра)

Image.FromFile(imageList[imageIndex]); - отобразить на форме картинку с текущим выбранным номером

if (imageIndex < 0) imageIndex = imageList.Length-1; - для того чтобы "зациклить" смену изображений и после первого изображения показывать последнее

if (imageIndex > imageList.Length-1) imageIndex = 0; - для того чтобы "зациклить" смену изображений и после последнего изображения показывать первое
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы