Вызов функции класса с таймером, - PullRequest
0 голосов
/ 25 февраля 2011

У меня есть переменная класса. Содержащаяся в нем информация действительно обновляется слишком часто, чтобы пользователь мог ее увидеть. Поэтому я хочу использовать таймер для обновления графического интерфейса примерно каждую секунду или около того. Вот код:

   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 не помогает.

Надеюсь, ты сможешь обезвредить меня.

Thomas

1 Ответ

0 голосов
/ 09 августа 2011

Просто удалите статическое ключевое слово из объявления обработчика событий!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...