wpf 判断一个按键三分钟没被按过 就跳转别的窗体。被按过了又重新计时。求大佬给个思路
提供一个思路,看下能用不:
using System.Windows;
using System.Windows.Controls;
namespace WinForm
{
/// <summary>
/// UserControl1.xaml 的交互逻辑
/// </summary>
public partial class UserControl1 : UserControl
{
MyThread mythread;
System.Threading.Thread navT;
public UserControl1()
{
InitializeComponent();
mythread = new MyThread();
navT = new System.Threading.Thread(mythread.Navigate);
navT.Start();
}
/// <summary>
/// 点击重新开启线程
/// </summary>
private void Button_Click(object sender, RoutedEventArgs e)
{
navT.Abort();
navT.Start();
}
}
/// <summary>
/// 自定义线程类
/// </summary>
class MyThread
{
public MyThread() { }
public void Navigate()
{
System.Threading.Thread.Sleep(3 * 60 * 1000);//3分钟
//
//TODO:窗体跳转
//
}
}
}
另起个线程,一定时间间隔(比如10秒)去判断一次
仅供参考
楼上的Form代码会让你程序慢慢死在os中。
重载个Button放个非线程Timer加个委托搞定,注意用完收拾干净,非线程Timer特么的跟Form不一样,wpf它不作为容器子项。
就是定义一个datetime类型 lastclicktime, 每次点击时, 更新这个时间
定义另一个while事件, 不断的判断这个时间与当前时间, 如果超过三分钟就跳走
有例子吗