业务需要,单击控件触发个业务,双击时触发另一个业务,由于双击时触发了单击的事件,所以我想在mouseup中根据两次点击的时间间隔来区分单击还是双击,奇怪的是,我双击时记录的点击次数是1,导致双击两个业务都触发了,这是为什么 |
|
40分 |
int click = 1; private void timer_singleclick_Tick(object sender, EventArgs e) { click = click + 1; if (click == 5) { Operate_Click(); timer_singleclick.Enabled = false; click = 1; } } private void Operate_DoubleClick() { MessageBox.Show("双击"); //这里为双击的操作代码 } private void Operate_Click() { MessageBox.Show("单击"); //这里为单击的操作代码 } private void textBox2_MouseDoubleClick(object sender, MouseEventArgs e)//双击弹出 { timer_singleclick.Enabled = false; Operate_DoubleClick(); } private void textBox2_MouseClick(object sender, MouseEventArgs e)//单击弹出 { if (e.Button == MouseButtons.Left) timer_singleclick.Enabled = true; } |
你的timer_singleclick_Tick是自定义事件吗
|
|
无语!
WPF里鼠标点击事件参数e里面本来就有个属性e.ClickCount,你根据它就可以判断是单击还是双击了 |
|
你加一句 if (e.ClickCount == 2)
{ } 设置个断点,双击之后就知道根本就不进去 |
|
timer控件的事件 |