WPF双击事件

来源:互联网 发布:深入浅出4g网络下载 编辑:程序博客网 时间:2024/06/07 21:47

由于WPF中没有鼠标的双击事件,因而只能通过MouseDown事件来模拟。当连续的两次MouseDown事件的时间间隔,没有超过一个设定的时间阈值时,就计算为一个双击事件,并作相应的处理。利用WPF中System.Windows.Threading.DispatcherTimer来做定时处理,不建议使用System.Timers.Timer。当定时事件发生时,就重置计数器为0,定时,单击事件中对计数器加1,并计数器是否为2的整数倍(即是否在设定的时间间隔内,发生两次MouseDown 事件)。如果是则作为双击事件处理。

int i = 0;private void Grid_MainTitle_MouseDown(object sender,MouseButtonEventArgs e){i+=1;DispatcherTimer timer = new DispatcherTimer();timer.Interval = new TimeSpan(0, 0, 0, 0, 300);timer.Tick += (s, e1) => { timer.IsEnabled = false; i = 0; };timer.IsEnabled = true;if (i % 2 == 0){timer.IsEnabled = false;i = 0;this.WindowState = this.WindowState == WindowState.Maximized ?WindowState.Normal : WindowState.Maximized;}}


学习笔记:还没有把这段代码放在编译器里运行看结果。

 

 

作者:墨梅
出处:http://www.cnblogs.com/xiwang/
欢迎任何形式的转载,但请务必注明出处。

 

原创粉丝点击