Не изменяется размер изображения на главной форме

У меня такая проблема я на главной форме вызываю форму в которой ввожу новые ширину и высоту изображения и после того как я нажал ОК должен меняться размер изображения но ничего не происходит вот мой код

Код метода главной формы

private void размерИзображенияToolStripMenuItem_Click(object sender, EventArgs e)
{
    // Получаем текущее изображение из PictureBox
    Bitmap currentImage = (Bitmap)pictureBox1.Image;

    // Открываем форму changing_the_image_size и передаем ей текущее изображение
    using (changing_the_image_size form = new changing_the_image_size(currentImage))
    {
        if (form.ShowDialog() == DialogResult.OK)
        {
            // Очистка PictureBox
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image.Dispose();
                pictureBox1.Image = null;
            }

            // Получаем измененное изображение
            Bitmap resizedImage = form.existingImage;

            // Устанавливаем новое изображение и размер PictureBox на главной форме
            pictureBox1.Image = resizedImage;
            pictureBox1.Size = new Size(resizedImage.Width, resizedImage.Height); // Изменяем размер PictureBox
            pictureBox1.Invalidate(); // Перерисовываем PictureBox
        }
    }
}

Код формы для изменения

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 ArtEdit;

namespace ArtEdit
{
    public partial class changing_the_image_size : Form
    {
        public Bitmap existingImage { get; private set; }

        public changing_the_image_size(Bitmap bitmap)
        {
            InitializeComponent();

            this.existingImage = bitmap;

            // Устанавливаем минимальные и максимальные значения для размеров изображения
            numericUpDownWidth.Maximum = 10000;
            numericUpDownHeight.Maximum = 10000;
            numericUpDownWidth.Minimum = 1;
            numericUpDownHeight.Minimum = 1;

            // Устанавливаем текущие размеры изображения в numericUpDown
            numericUpDownWidth.Value = existingImage.Width;
            numericUpDownHeight.Value = existingImage.Height;
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                int width = (int)numericUpDownWidth.Value;
                int height = (int)numericUpDownHeight.Value;

                // Изменяем размер существующего изображения
                Bitmap resizedImage = new Bitmap(existingImage, width, height);

                //Заменяем существующее изображение на измененное
                existingImage = resizedImage;

                // Устанавливаем измененное изображение в свойство формы
                this.existingImage = resizedImage;

                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Ошибка при изменении размера изображения: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }
    }
}

Ответы (1 шт):

Автор решения: sosiska

Вы в конструкторе класса, присваиваете переменным numericUpDownWidth.Value и numericUpDownHeight.Value значения, уже установленного изображения. Также, не понятно зачем, вы два раза присваиваете переменной existingImage одно и то же значение

→ Ссылка