使用计时器调用类功能,

时间:2011-02-24 22:37:36

标签: c# events timer

我有一个变量类。其保存信息确实经常更新以供用户查看。所以我想使用Timer来每隔一秒左右更新一次GUI。这是代码:

   public Variable()
    {
        TimerInit();
        _value.timestamp = 0;
        _value.value = 0;

    }

    private void TimerInit()
    {

        _UpdateTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
        // Set the Interval to 5 seconds.
        _UpdateTimer.Interval = 5000;
        _UpdateTimer.Enabled = true;
        _UpdateTimer.Stop();
    }

    private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        this.VariableChange.Invoke(this, new VariableChangeEventArgs() { value = Value }); // invoking the gui
    }

您可以发现问题:这是一个静态函数。我怎么能到达我的对象?给定的源对象没有帮助,因为它没有保存数据。我不能使变量类静态。

我找到的每个示例和帮助都是关于调用控制台。这可能不是那么难,但即使MSDN的文档也无济于事。

希望你能让我失望。

托马斯

1 个答案:

答案 0 :(得分:0)

只需从事件处理程序声明中删除static关键字!