У меня есть пользовательский элемент управления, основная цель которого - рисовать данные. Я хочу добавить метод ScheduleUpdate (int milliSeconds) к элементу управления, который заставит обновление X миллисекунд с этого момента.
Так как все это графическая оболочка, я должен использовать Windows.Forms.Timer, но как этот экземпляр таймера узнает, к какому потоку он принадлежит? Что если ScheduleUpdate () вызывается из потока, не являющегося пользовательским интерфейсом?
Должен ли я создать таймер в конструкторе Control? Или, возможно, событие Load? Или это безопасно отложить конструкцию, пока я не буду внутри ScheduleUpdate ()?
Я знаю, что уже есть некоторые очень похожие вопросы по этому поводу, но у меня нет компонента Timer на моем контроле, я создаю его по мере необходимости. *