zoukankan      html  css  js  c++  java
  • Border控件中判断鼠标单击或双击

    WPF  Border控件中的MouseLeftButtonDown事件或MouseDown事件里判断鼠标单击还是双击,确保双击的时候不能引发单击事件。

    万能模板:(来自百度知道)

            private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                var element = (FrameworkElement)sender;
                if (e.ClickCount == 1)
                {
                    var timer = new System.Timers.Timer(500);
                    timer.AutoReset = false;
                    timer.Elapsed += new ElapsedEventHandler((o, ex) => element.Dispatcher.Invoke(new Action(() =>
                    {
                        var timer2 = (System.Timers.Timer)element.Tag;
                        timer2.Stop();
                        timer2.Dispose();
                        UIElement_Click(element, e);
                    })));
                    timer.Start();
                    element.Tag = timer;
                }
                if (e.ClickCount > 1)
                {
                    var timer = element.Tag as System.Timers.Timer;
                    if (timer != null)
                    {
                        timer.Stop();
                        timer.Dispose();
                        UIElement_DoubleClick(sender, e);
                    }
                }
      
            }
      
            private void UIElement_Click(object sender, MouseButtonEventArgs e)
            {
                MessageBox.Show("单击");
            }
      
            private void UIElement_DoubleClick(object sender, MouseButtonEventArgs e)
            {
                MessageBox.Show("双击");
            }
  • 相关阅读:
    设计模式之装饰者模式
    每天一点点
    生财有道
    地图的移动和缩放
    钱分割
    位运算
    ref和out
    使用startCoroutine制定倒计时
    静态类和单例类
    Awake和Start
  • 原文地址:https://www.cnblogs.com/danieldong/p/5588082.html
Copyright © 2011-2022 走看看