Cross Thread error disposing form with Timer

У меня есть таймер, установленный на 10 секунд на одной из моих оконных форм. И для события OnTimedEvent я установил, что форма будет удалена по истечении времени. Однако возникает ошибка

InvalidOperationException was unhandled by user code.

Межпоточная операция недопустима: К элементу управления 'notificationForm' обращались из потока, отличного от потока, в котором он был создан.

Ошибка была в строке

protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

код для моего события таймера

    private void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        this.Dispose();
    }

Кто-нибудь знает, как это исправить? спасибо!

5
задан LarsTech 16 December 2011 в 17:21
поделиться