C# Windows Form Timer does not show the value entered

What I already tried: I have the following UI/Windows Form which looks like a countdown timer. I want a user to input values like hours, minutes, and seconds into the text boxes. Once the “start” button is clicked and the user input is done, the timer should start the count down.

Problem: the timer does NOT start the count down. Even after the user input (it can be anything like 01:01:01), the label stays showing 00:00:00.

I will leave my source code now, could anyone kindly point out what went wrong here?

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        
        private DateTime targetDT;
        public NumericUpDown numericUpDownMn { get; set; }
        public NumericUpDown numericUpDownSn { get; set; }
        public NumericUpDown numericUpdownMiliSn { get; set; }
        private bool paused;
        
        public Form1()
        {
            InitializeComponent();
            
        }

        private void StartBtn_Click(object sender, EventArgs e)
        {
            TimeSpan ts = new TimeSpan(0, 0, (int)numericUpDownMn.Value, (int)numericUpDownSn.Value, (int)numericUpdownMiliSn.Value);
            if(ts.TotalMilliseconds > 0)
            {
                StartBtn.Enabled = false;
                numericUpDownMn.Enabled = false;
                numericUpDownSn.Enabled = false;
                numericUpdownMiliSn.Enabled = false;
                targetDT = DateTime.Now.Add(ts);
                Timer.Start();

            }

        }

        private void StopBtn_Click(object sender, EventArgs e)
        {

            Timer.Enabled = false;
            StartBtn.Enabled = true;
            StopBtn.Enabled = false;
            PauseBtn.Enabled = false;
            txtHrs.Clear();
            txtMins.Clear();
            txtSecs.Clear();
            txtHrs.Enabled = true;
            txtMins.Enabled = true;
            txtSecs.Enabled = true;
            txtHrs.Text = "00";
            txtMins.Text = "00";
            txtSecs.Text = "00";
            MessageBox.Show("Timer paused, click to restart");
        }

        private void Timer_Tick(object sender, EventArgs e)
        {
            TimeSpan ts = targetDT.Subtract(DateTime.Now);
            if(ts.TotalMilliseconds > 0)
            {
                Timer.Start();
                numericUpDownMn.Value = ts.Minutes;
                numericUpDownSn.Value = ts.Seconds;
                numericUpdownMiliSn.Value = ts.Milliseconds;
                txtHrs.Text = ts.Minutes.ToString();
                txtMins.Text = ts.Seconds.ToString();
                txtSecs.Text = ts.Milliseconds.ToString();
                remainingTime.Text = ts.Minutes.ToString("00") + ":" + ts.Seconds.ToString("00") + ":" + ts.Milliseconds.ToString("00");
            }
            else
            {
                Timer.Stop();
                numericUpDownMn.Value = 0;
                numericUpDownSn.Value = 0;
                numericUpdownMiliSn.Value = 0;
                StartBtn.Enabled = true;
                numericUpDownMn.Enabled = true;
                numericUpDownSn.Enabled = true;
                numericUpdownMiliSn.Enabled = true;
                
            }

        }

        private void PauseBtn_Click(object sender, EventArgs e)
        {
            Timer.Enabled = false;
            paused = true;
            StartBtn.Enabled = true;
            PauseBtn.Enabled = false;
        }

        private void groupBox3_Enter(object sender, EventArgs e)
        {
            

        }

        private void label2_Click(object sender, EventArgs e)
        {


        }

    }
}