Temporizador Winforms para Dummies

Eu estou tentando obter um temporizador para marcar uma vez por segundo em um winform, quando eu procuro conselhos sobre como fazer isso eu encontro um monte de coisas sobre tópicos. Bem, eu não me importo com tópicos, porque tudo que eu estou tentando fazer é fazer uma contagem de valor de 60 a 0 em um minuto, então pare. Eu não acho que precisamos entrar em cloud computing para resolver este problema, mas eu sou realmente um corpo de formas web, então estou um pouco enferrujado nesta questão. Alguém pode me apontar um exemplo

Aqui está o que eu tentei

private void button1_Click(object sender, EventArgs e)
    {
        this.timeLeft = 60;
        this.label1.Visible = false;
        this.button1.Visible = false;
        gt = new Timer();
        gt.Tick += new EventHandler(CountDown);
        gt.Interval = 1000;
        gt.Start();
    }

private void CountDown(object sender, EventArgs e)
{
    do
    {
        this.TimeBar.Value = timeLeft;                
        this.timeLeft -= 1;
    } while (this.timeLeft > 0);
    if (this.TimeBar.Value > 0) return;
    gt.Stop();
    this.label1.Visible = true;
    this.button1.Visible = true;
}

Qualquer ajuda seria apreciada.