如题,做了一个在运行时可拖动的按钮,可是每次一拖动就会触发Click事件,怎样才能实现只拖动按钮而不触发Click事件,Click事件是必要的,不可省
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private Point buttonlocation;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("button1");
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
buttonlocation = e.Location;
}
private void button1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.button1.Click -= button1_Click;
this.button1.Location = new Point(this.button1.Left + (e.X - buttonlocation.X), this.button1.Top + (e.Y - buttonlocation.Y));
}
}
private void button1_MouseDown(object sender, MouseEventArgs e)
{
buttonlocation = e.Location;
this.button1.Click -= button1_Click;
this.button1.Click += button1_Click;
}
}
}
应该使用onclick,而不是onmousedown