密钥(自动完成)时的延迟请求数据库

时间:2014-12-15 15:34:15

标签: c# wpf

我有一个文本框,我使用Timer和DispatcherTimer来延迟键盘,但它实际上并不像我预期的那样。

当Interval完成时,事件会消失。 5秒后,Fiter事件发生火灾。

以下是我的代码:

初始化变量

DispatcherTimer timerFilter;
//or
//Timer timerFilter = new Timer(5000);

初始化事件

InitializeComponent();
timerFiter = new DispatcherTimer { Interval = TimeSpan.FromSeconds(5) };

timerFiter.Tick += (s, args) =>
{
    Filter();
};

//or

//timerFilter.Elapsed += Filter;

按键时

Console.WriteLine("Start");
timerFilter.Start();
//or
//timerFilter.Enabled = true;

按下键时

Console.WriteLine("Destroy");
timerFiter.Stop();
//or
//timerFilter.Enabled = false;

我的活动

private void Filter(Object source, ElapsedEventArgs e)
{
    Console.WriteLine("Filter");
    timerFiter.Stop();
    //or
    //timerFilter.Enabled = false;
}

谢谢!

1 个答案:

答案 0 :(得分:1)

总会有一个按键事件,所以在最后一次按键操作后发生的最后一件事是:

Console.WriteLine("Start");
timerFilter.Start();

要确保在过滤结果后计时器停止,请向过滤器处理程序添加停止调用:

private void Filter(Object source, ElapsedEventArgs e)
{
    Console.WriteLine("Filter");
    timerFilter.Stop();
}