У меня есть старое приложение WinForms Mdi в VB.Net 2.0, к которому я добавляю функциональность. Одним из дополнений является предупреждение, которое необходимо поднять, когда текущее время приближается к указанному значению (крайний срок). Мое намерение - проверять время один раз в час, пока не истечет менее часа до крайнего срока, а затем отображать предупреждения с заданными интервалами до истечения времени.
Пользователь должен иметь возможность продолжать использовать приложение до и даже после крайнего срока, но он должен периодически информироваться о приближении крайнего срока.
Приложение не использует System.Threading, и мои знания об этом в настоящее время ограничены. Я знаю, что есть 3 различных метода Timer ():
- System.Threading.Timer (),
- Windows.Forms.Timer () и
- System.Timers.Timer ()
Мой вопрос: какой лучший способ пойти с этим? Я попытался использовать многопоточный таймер, но поскольку WinForms не являются поточно-ориентированными, я получил ошибку времени выполнения, пытаясь получить доступ к другому классу. Стоит ли делать поток класса / формы безопасным? Я совершенно не в курсе?
Спасибо.