wpf中为何mouseup事件双击时记录一次点击

.Net技术 码拜 10年前 (2015-05-10) 1251次浏览 0个评论
 

业务需要,单击控件触发个业务,双击时触发另一个业务,由于双击时触发了单击的事件,所以我想在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)
            {
            }
设置个断点,双击之后就知道根本就不进去
引用 2 楼 liujiahaol12345 的回复:

你的timer_singleclick_Tick是自定义事件吗

timer控件的事件


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明wpf中为何mouseup事件双击时记录一次点击
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!