как поменять изображение с помощью кнопки | c# windows формы - PullRequest
0 голосов
/ 09 апреля 2020


Я бы хотел изменить изображение с первого на второе с помощью кнопки. Первое изображение должно всегда загружаться при запуске моей формы, после нажатия кнопки изображение заменяется вторым, а затем наоборот. Как я мог это сделать?
Изображение загружается в imgbox и не имеет кода. Все изображения хранятся в папке, называемой ресурсами. Код Form1.cs:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WMPLib;

namespace WindowsFormsApp4
{


    public partial class Form1 : Form
    {

        WindowsMediaPlayer player = new WindowsMediaPlayer();

        public Form1()
        {
            InitializeComponent();

            player.URL = "tada.mp3";
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            player.controls.play();
        }

        private void changebutton_Click(object sender, EventArgs e)
        {

        }

        private void Form1_HelpButtonClicked(Object sender, CancelEventArgs e)

        {

            MessageBox.Show("PZP - Przeglądarka zdjęć P0150Na", "Informacje", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
}



С уважением
p0150n

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

VDN, когда я кодировал changebutton.Click += new EventHandler(changebutton_Click); в public Form1(), когда я нажимал кнопку (которая называется «changebutton», если это важно), моя IDE показала мне необработанное исключение: System.IO.FileNotFoundException: „nerf.png ». Этот файл - второе изображение, которое я хочу показать.

0 голосов
/ 09 апреля 2020

Добавить массив всех возможных изображений. Добавьте переменную для хранения текущего загруженного индекса изображения в этом массиве. А при событии buttonClick измените текущий загруженный индекс изображения и загрузите изображение в picturebox. С этой идеей у вас может быть более 2 изображений. Как то так:

public partial class Form1 : Form
{
    string[] images = new string[] { "image1.bmp", "image2.bmp", "image3.bmp" };
    int currentImageIndex = 0;

    ...
    private void changebutton_Click(object sender, EventArgs e)
    {
        currentImageIndex++;
        if (currentImageIndex == images.Length)
            currentImageIndex = 0;

        pictureBox.Image = Image.FromFile(images[currentImageIndex]));
    }
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...