在Winform开发中,有时某个Control控件鼠标单双击要进行不同的操作,在双击的时候会同时触发单击事件
解决方法如下:
通过加一个计时器来进行判断当前操作是单击还是双击
#region 单双击事件
private bool isFirstClick = true;
private bool isDoubleClick = false;
private int milliseconds = 0;
private System.Windows.Forms.Timer doubleClickTimer = new System.Windows.Forms.Timer();
void pic_MasterDrawing_MouseDown(object sender, MouseEventArgs e)
{
// 鼠标单击.
if (isFirstClick)
{
isFirstClick = false;
doubleClickTimer.Start();
}
// 鼠标双击
else
{
isDoubleClick = true;
}
}
void doubleClickTimer_Tick(object sender, EventArgs e)
{
milliseconds += 100;
// 第二次鼠标点击超出双击事件间隔
if (milliseconds >= SystemInfor