为c#包装器类创建一个计时器

时间:2011-04-22 15:03:59

标签: c# .net timer outlook

我在Outlook中有一个包装类,它有可能同时处理大量事件,但我只想在用户触发后提示用户一次。我正在使用Redemption来存储我的消息/文件夹ID,但是需要创建一种方法来在捕获所有ID之后触发事件。

建议我使用Timer类来处理这个问题,但我还没有写过一个,对如何正确完成这个任务感到有些困惑。

提前致谢

1 个答案:

答案 0 :(得分:1)

这是一个收集from MSDN的简单示例:

using System;
using System.Timers;

public class TimerExample
{
    public static void Main()
    {
        Timer aTimer = new Timer();
        aTimer.Elapsed += OnTimedEvent;
        aTimer.Interval = 2000;
        aTimer.Enabled = true;
        Console.ReadLine(); // artificially pause app to let timer run
        GC.KeepAlive(aTimer);
    }

    private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        Console.WriteLine("Timer event fired");
                    // pseudocode:
                    // check for new events collected
                    // if any exist, take first and present UI to user
                    // if more exist, then consinue
    }
}

这是一个控制台应用程序,可在应用程序的入口点创建和启动计时器。如果您正在使用GUI应用程序,则可以在表单中的OnLoad事件中使用相同的代码。 OnTimedEvent处理程序将保持不变。那个事件是你在逻辑上测试所收集的OUtlook事件并决定是否需要通知用户。