wpf window stackpanel等控件的双击放大缩小主窗体事件
2013-10-09 14:02
477 查看
由于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;
}
}
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;
}
}
相关文章推荐
- 稳扎稳打Silverlight(35) - 3.0控件之ChildWindow, SaveFileDialog, HeaderedItemsControl, VirtualizingStackPanel
- wpf之布局控件stackpanel、wrappanel、dockpanel的前世今生
- WPF控件模拟双击事件
- WPF中 Window 窗体加载的时候的事件的执行顺序
- WPF窗体关闭/放大/缩小按钮禁用、隐藏的实现
- WPF布局控件之StackPanel
- 稳扎稳打Silverlight(35) - 3.0控件之ChildWindow, SaveFileDialog, HeaderedItemsControl, VirtualizingStackPanel
- WPF遍历StackPanel中动态添加的控件
- c#添加事件,以xtraTabPage控件添加MouseWheel事件为例,实现图像的放大缩小
- WPF布局之让你的控件随着窗口等比放大缩小,适应多分辨率满屏填充应用
- c#第一篇 在WPF的window窗体中使用httpwebrequest实现模拟登陆网页,并在webbroser控件中显示
- WPFwindow窗体的关闭事件Closing 和Closed
- 基于ImageView的多点触控,双击放大缩小以及结合ViewPager的事件冲突
- WPFwindow窗体的关闭事件Closing 和Closed
- WPFwindow窗体的关闭事件Closing 和Closed
- WPF布局之让你的控件随着窗口等比放大缩小 适应多分辨率满屏填充应用
- 一、WPF布局之让你的控件随着窗口等比放大缩小,适应多分辨率满屏填充应用
- C# Note16: wpf window 中添加enter和双击事件
- c# 窗体上控件如何放大缩小和移动
- WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探