using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;namespace Demo4U { public partial class Form1 : Form { bool IsMouseDown = false; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Label lb1 = new Label(); lb1.Left = 50; lb1.Top = 50; lb1.Text = "1111111"; lb1.AutoSize = true; lb1.MouseDown += new MouseEventHandler(lb1_MouseDown); lb1.MouseUp += new MouseEventHandler(lb1_MouseUp); lb1.MouseMove += new MouseEventHandler(lb1_MouseMove); this.Controls.Add(lb1); Label lb2 = new Label(); lb2.Left = 150; lb2.Top = 50; lb2.Text = "2222222"; lb2.AutoSize = true; lb2.MouseDown += new MouseEventHandler(lb1_MouseDown); lb2.MouseUp += new MouseEventHandler(lb1_MouseUp); lb2.MouseMove += new MouseEventHandler(lb1_MouseMove); this.Controls.Add(lb2); } void lb1_MouseMove(object sender, MouseEventArgs e) { if (IsMouseDown) { ((Label)sender).Left += e.X; ((Label)sender).Top += e.Y; } } void lb1_MouseUp(object sender, MouseEventArgs e) { IsMouseDown = false; } void lb1_MouseDown(object sender, MouseEventArgs e) { IsMouseDown = true; } } }记得给分啊 ,楼主
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace WindowsApplication3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("user32.dll", EntryPoint = "SendMessage")] public static extern int SendMessage(int hWnd, int wMsg, int wParam, int lParam); [DllImport("user32.dll", EntryPoint = "ReleaseCapture")] public static extern int ReleaseCapture(); public const int WM_SysCommand = 0x0112; public const int SC_MOVE = 0xF012; private void Form1_Load(object sender, EventArgs e) { Label lb = new Label(); lb.Cursor = Cursors.Hand; lb.Text = "可以拖放"; lb.Location = new Point(100, 100); lb.MouseDown += new MouseEventHandler(lb_MouseDown); this.Controls.Add(lb);
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace Demo4U
{
public partial class Form1 : Form
{
bool IsMouseDown = false;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
Label lb1 = new Label();
lb1.Left = 50;
lb1.Top = 50;
lb1.Text = "1111111";
lb1.AutoSize = true;
lb1.MouseDown += new MouseEventHandler(lb1_MouseDown);
lb1.MouseUp += new MouseEventHandler(lb1_MouseUp);
lb1.MouseMove += new MouseEventHandler(lb1_MouseMove);
this.Controls.Add(lb1); Label lb2 = new Label();
lb2.Left = 150;
lb2.Top = 50;
lb2.Text = "2222222";
lb2.AutoSize = true;
lb2.MouseDown += new MouseEventHandler(lb1_MouseDown);
lb2.MouseUp += new MouseEventHandler(lb1_MouseUp);
lb2.MouseMove += new MouseEventHandler(lb1_MouseMove);
this.Controls.Add(lb2);
} void lb1_MouseMove(object sender, MouseEventArgs e)
{
if (IsMouseDown)
{
((Label)sender).Left += e.X;
((Label)sender).Top += e.Y;
}
} void lb1_MouseUp(object sender, MouseEventArgs e)
{
IsMouseDown = false;
} void lb1_MouseDown(object sender, MouseEventArgs e)
{
IsMouseDown = true;
}
}
}记得给分啊 ,楼主
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(int hWnd, int wMsg, int wParam, int lParam);
[DllImport("user32.dll", EntryPoint = "ReleaseCapture")]
public static extern int ReleaseCapture();
public const int WM_SysCommand = 0x0112;
public const int SC_MOVE = 0xF012;
private void Form1_Load(object sender, EventArgs e)
{
Label lb = new Label();
lb.Cursor = Cursors.Hand;
lb.Text = "可以拖放";
lb.Location = new Point(100, 100);
lb.MouseDown += new MouseEventHandler(lb_MouseDown);
this.Controls.Add(lb);
} void lb_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(((Control)sender).Handle.ToInt32(), WM_SysCommand, SC_MOVE, 0); }
}
}
http://www.cnblogs.com/michael-zhang/archive/2008/10/07/655267.html
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
myPoint = new Point(-e.X, -e.Y);
} private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point myPosition = Control.MousePosition;
myPosition.Offset(myPoint.X, myPoint.Y);
this.DesktopLocation = myPosition;
}
}
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} [DllImport("user32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(int hWnd, int wMsg, int wParam, int lParam);
[DllImport("user32.dll", EntryPoint = "ReleaseCapture")]
public static extern int ReleaseCapture();
public const int WM_SysCommand = 0x0112;
public const int SC_MOVE = 0xF012;//动态生成label控件
private void button1_Click(object sender, System.EventArgs e)
{
try
{
Label label1 = new Label();
label1.Location = new System.Drawing.Point(20, 20);
label1.Name = "label1";
label1.Text = "label1";
label1.Size = new System.Drawing.Size(100, 21);
this.Controls.Add(label1);
label1.MouseDown += new System.Windows.Forms.MouseEventHandler(label1_MouseDown);//添加label的mousedown事件
}
catch(Exception ex)
{
throw ex;
}
}void label1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
try
{
ReleaseCapture();
SendMessage(((Control)sender).Handle.ToInt32(), WM_SysCommand, SC_MOVE, 0); }
catch(Exception ex)
{
throw ex;
}
}
{
public partial class Form1 : Form
{
bool IsMouseDown = false;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
Label lb1 = new Label();
lb1.Left = 50;
lb1.Top = 50;
lb1.Text = "1111111";
lb1.AutoSize = true;
lb1.MouseDown += new MouseEventHandler(lb1_MouseDown);
lb1.MouseUp += new MouseEventHandler(lb1_MouseUp);
lb1.MouseMove += new MouseEventHandler(lb1_MouseMove);
this.Controls.Add(lb1);
Label lb2 = new Label();
lb2.Left = 150;
lb2.Top = 50;
lb2.Text = "2222222";
lb2.AutoSize = true;
lb2.MouseDown += new MouseEventHandler(lb1_MouseDown);
lb2.MouseUp += new MouseEventHandler(lb1_MouseUp);
lb2.MouseMove += new MouseEventHandler(lb1_MouseMove);
this.Controls.Add(lb2);
} void lb1_MouseMove(object sender, MouseEventArgs e)
{
if (IsMouseDown)
{
((Label)sender).Left += e.X;
((Label)sender).Top += e.Y;
}
} void lb1_MouseUp(object sender, MouseEventArgs e)
{
IsMouseDown = false;
} void lb1_MouseDown(object sender, MouseEventArgs e)
{
IsMouseDown = true;
}
}
}
不知道是什么原因
{
try
{
ReleaseCapture();
SendMessage(((Control)sender).Handle.ToInt32(), WM_SysCommand, SC_MOVE, 0); }
catch(Exception ex)
{
throw ex;
}
}
//你把每一个label都添加label1.MouseDown += new System.Windows.Forms.MouseEventHandler(label1_MouseDown);,记得把label1替换掉。
//在void label1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)函数中也要替换label1
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; namespace Demo4U
{
public partial class Form1 : Form
{
bool IsMouseDown = false;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
Label lb1 = new Label();
lb1.Left = 50;
lb1.Top = 50;
lb1.Text = "1111111";
lb1.AutoSize = true;
lb1.MouseDown += new MouseEventHandler(lb1_MouseDown);
lb1.MouseUp += new MouseEventHandler(lb1_MouseUp);
lb1.MouseMove += new MouseEventHandler(lb1_MouseMove);
this.Controls.Add(lb1);
Label lb2 = new Label();
lb2.Left = 150;
lb2.Top = 50;
lb2.Text = "2222222";
lb2.AutoSize = true;
lb2.MouseDown += new MouseEventHandler(lb1_MouseDown);
lb2.MouseUp += new MouseEventHandler(lb1_MouseUp);
lb2.MouseMove += new MouseEventHandler(lb1_MouseMove);
this.Controls.Add(lb2);
} void lb1_MouseMove(object sender, MouseEventArgs e)
{
if (IsMouseDown)
{
((Label)sender).Left += e.X;
((Label)sender).Top += e.Y;
}
} void lb1_MouseUp(object sender, MouseEventArgs e)
{
IsMouseDown = false;
} void lb1_MouseDown(object sender, MouseEventArgs e)
{
IsMouseDown = true;
}
}
}