We will create a custom PictureBox control allows you to move image in picturebox with mouse using c# code.
Creating a new Windows Forms Application project, then create a new class named CustomPictureBox and and make it inherit from PictureBox control.
How to create custom control in c#
public class CustomPictureBox : PictureBox
public CustomPictureBox(IContainer container)
protected override void OnMouseDown(MouseEventArgs e)
point = e.Location;
protected override void OnMouseMove(MouseEventArgs e)
if (e.Button == MouseButtons.Left)
this.Left += e.X - point.X;
this.Top += e.Y - point.Y;
C# Moving picturebox with mouse
You need to override the OnMouseDown and OnMouseMove event handlers that allows you to move a PictureBox with mouse inside a form.
You can do the same with another control that lets you move a control by dragging it with the mouse in C#
How to add custom control in toolbox in c#
After you finish creating a custom control, you need to rebuild your project. Next open your form designer, on the side of the Visual Studio Toolbox window you will see the custom control that you have created automatically added to the Visual Studio Toolbox.
C# Move image in picturebox with mouse
Dragging the CustomPictureBox control from the Visual Studio Toolbox to your winform, then add an image to the CustomPictureBox control.
Select the Size Mode is StretchImage.
Press F5 to run your application, then you can move image in PictureBox with mouse in c#.