Я не уверен, какой у тебя тип таймера.Некоторые используются для создания событий в потоке пула потоков, другие в потоке графического интерфейса.Если бы вы могли сообщить нам тип вашего таймера (System.Timers.Timer, System.Threading.Timer и т. Д.), Я могу рассказать вам, для чего он используется.Однако, если я правильно помню, Tick используется для таймера GUI, в то время как Elapsed используется для других таймеров - я могу ошибаться.
С риском покровительства вас, я собираюсь спросить, если вызапустил таймер или нет :) Обычно вызов Start () или установка Enabled в значение true запускает объект таймера.Если вы ожидаете, что таймер уже запущен, вы должны иметь возможность проверить свойство, такое как Включено, чтобы утверждать, что он работает, прежде чем подключить событие.
Кроме этого, я бы сделал некоторую отладку в стиле printfпроверьте, что событие действительно вызывается.