Я пытаюсь использовать MouseWheel для увеличения изображения, но это не работает - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь сделать функцию масштабирования с помощью колесика мыши, но когда я запускаю свой проект, функция масштабирования не работает

Мой код

Form1.Designer.cs

        this.Panel4.AutoScroll = true;
        this.Panel4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
        this.Panel4.Controls.Add(this.pictureBox4);
        this.Panel4.Controls.Add(this.pictureBox3);
        this.Panel4.Location = new System.Drawing.Point(175, 353);
        this.Panel4.Name = "Panel4";
        this.Panel4.Size = new System.Drawing.Size(1163, 365);
        this.Panel4.TabIndex = 7;

Form1.cs

Добавить событие MouseWheel

 InitializeComponent();
 Panel4.MouseWheel += new MouseEventHandler(Panel4_MouseWheel);

Когда я поворачиваю колесо мыши, эта функция активна

private void Panel4_MouseWheel(object sender, MouseEventArgs e)
    {
        Console.WriteLine("Zoom!!");
        this.Focus();
        // or Panel4.Focus();
        if (e.Delta < 120 && zoomIn_zoomOut > 1)
        {
            zoomIn_zoomOut--;
            zoom_len -= zoomIn_zoomOut;
        }
        else if (e.Delta >= 120)
        {
            zoomIn_zoomOut++;
            zoom_len += zoomIn_zoomOut;
        }

        factor = new Size(zoomIn_zoomOut, 1);
        zoom_pic(factor, e);
    }


void zoom_pic(Size scale, MouseEventArgs e)
    {

        // Calculate and zoom Picture
    }

Ожидаемый результат

Zoom!!

Реальный результат

(show nothing)

Можете ли вы сказать мне, в чем проблема этого кода? У меня нет способа ее решить.

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...