用C#要编写一个可用鼠标拖拽的BUTTON控件如何实现?
展开全部
上一个有点问题,我给改了一下
这会ok了。。。。
下边是全部代码。。。。。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
Point pt;
bool moves = true;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (moves == true)
{
MessageBox.Show("sfdfdf");
}
}
private void button1_MouseDown(object sender, MouseEventArgs e)
{
pt = Cursor.Position;
}
private void button1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
int px = Cursor.Position.X - pt.X;
int py = Cursor.Position.Y - pt.Y;
button1.Location = new Point(button1.Location.X + px, button1.Location.Y + py);
pt = Cursor.Position;
moves = false;
}
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
moves = true;
}
}
}
这会ok了。。。。
下边是全部代码。。。。。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
Point pt;
bool moves = true;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (moves == true)
{
MessageBox.Show("sfdfdf");
}
}
private void button1_MouseDown(object sender, MouseEventArgs e)
{
pt = Cursor.Position;
}
private void button1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
int px = Cursor.Position.X - pt.X;
int py = Cursor.Position.Y - pt.Y;
button1.Location = new Point(button1.Location.X + px, button1.Location.Y + py);
pt = Cursor.Position;
moves = false;
}
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
moves = true;
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询