Я опробовал ваш код (изменив 200 мс на 2000 мс), и он сделал отображать окно сообщения каждые 2 секунды, поэтому проблема не в коде, а скорее в способе его вызова.Я только что создал пример приложения Winforms и поместил вызов InitTimer в событие формы Load:
private void Form1_Load(object sender, EventArgs e)
{
InitTimer();
}
Когда вы создавали проект, создавали ли вы приложение Windows Forms?Например, вы не должны были создавать консольное приложение.