Загрузка...

C# | Как перетаскивать picturebox вместе с формой?

Тема в разделе C# создана пользователем XE0D 4 окт 2022. 135 просмотров

  1. XE0D
    XE0D Автор темы 4 окт 2022 Заблокирован(а) 337 30 сен 2020
    Суть такая что у меня есть картинка в picturebox и сам этот бокс растянут на всю форму.
    Как сделать так чтобы можно была перетаскивать всю форму держась за картинку в пиктурБоксе? а не за саму форму.
     
  2. MakareviCH
    MakareviCH 4 окт 2022 Хай киска, пиши мне 145 16 июн 2017
    ты хочешь перетягивать окно, удерживая кнопку мыши на картинке?
     
  3. XE0D
    XE0D Автор темы 4 окт 2022 Заблокирован(а) 337 30 сен 2020

    private Point mouseOffset;
    private bool isMouseDown = false;


    private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
    {
    int xOffset;
    int yOffset;

    if (e.Button == MouseButtons.Left)
    {
    xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
    yOffset = -e.Y - SystemInformation.CaptionHeight -
    SystemInformation.FrameBorderSize.Height;
    mouseOffset = new Point(xOffset, yOffset);
    isMouseDown = true;
    }
    }

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
    if (isMouseDown)
    {
    Point mousePos = Control.MousePosition;
    mousePos.Offset(mouseOffset.X, mouseOffset.Y);
    Location = mousePos;
    }
    }

    private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    isMouseDown = false;
    }
    }

    }

    --- Сообщение объединено с предыдущим 4 окт 2022
    Нашел решение может кому пригодится.
    --- Сообщение объединено с предыдущим 4 окт 2022
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    using System.IO;
    using System.Drawing.Drawing2D;
     
Загрузка...
Top