Загрузка данных


if (!timer1.Enabled)
{
    // Считаем общее количество секунд, которое задал пользователь
    int minutes = (int)numericUpDown1.Value;
    int seconds = (int)numericUpDown2.Value;
    totalSecondsRemaining = (minutes * 60) + seconds;

    if (totalSecondsRemaining > 0)
    {
        groupBox1.Enabled = false;
        button1.Text = "Стоп";
        label1.Text = minutes.ToString("00") + ":" + seconds.ToString("00");
        timer1.Interval = 1000;
        timer1.Enabled = true;
    }
}
// Блок else (если нажали "Стоп" во время работы) оставляем как есть.


private void timer1_Tick(object sender, EventArgs e)
{
    // Каждую секунду отнимаем по одной
    totalSecondsRemaining--;

    // Если время вышло
    if (totalSecondsRemaining <= 0)
    {
        timer1.Enabled = false;
        label1.Text = "00:00";
        MessageBox.Show("Заданный интервал времени истек", "Таймер", MessageBoxButtons.OK, MessageBoxIcon.Information);
        button1.Text = "Пуск";
        groupBox1.Enabled = true;
        numericUpDown1.Value = 0;
        numericUpDown2.Value = 0;
    }
    else
    {
        // Вычисляем минуты и секунды из общего числа секунд
        int min = totalSecondsRemaining / 60;
        int sec = totalSecondsRemaining % 60;

        // Выводим на экран
        label1.Text = min.ToString("00") + ":" + sec.ToString("00");
    }
}