using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace test_Move_Image{public partial class Form1 : Form{public Form1(){InitializeComponent();}Image map;private void button1_Click(object sender, EventArgs e){map = Image.FromFile(@"c:\MAP_TAS\wash.jpg");draw_map(0, 0);}private void draw_map(int x, int y){pictureBox1.Image = null;Bitmap tbmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);Graphics tgr = Graphics.FromImage(tbmp);tgr.DrawImage(map, x, y);Rectangle rct = new Rectangle(0, 0, tbmp.Width, tbmp.Height);Image img = tbmp.Clone(rct, tbmp.PixelFormat); pictureBox1.Image = img;tgr.Dispose();tbmp.Dispose();px = x;py = y;GC.Collect();GC.WaitForPendingFinalizers();}int mx, my, cmx, cmy, px, py;private void pictureBox1_MouseDown(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left){mx = e.X;my = e.Y;label1.Text = "mx = " + mx.ToString();label2.Text = "my = " + my.ToString();}}private void pictureBox1_MouseMove(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left){cmx = e.X - mx;cmy = e.Y - my;px = px + cmx;py = py + cmy;draw_map(px, py);cmx = 0;cmy = 0;mx = e.X;my = e.Y;label3.Text = "cmx = " + cmx.ToString();label4.Text = "cmy = " + cmy.ToString();Cursor = Cursors.SizeAll;}}private void pictureBox1_MouseUp(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left){Cursor = Cursors.Default;cmx = 0;cmy = 0;}}}}