C# Not responding : I would just like to say that this is my first windows form application so bare with me :)

**What the application should do**

This application should take the input of time (seconds, minutes and hours) and shutdown the computer after that time. It should also update the text box with how long left until the computer has shut down.

**What the application actually does**

I had an issue that I 'fixed' where the called ac across threads weren't safe, so I fixed it and I don't get that error now. However, the updateThread doesn't update and print the time left; and the text box doesn't get "test" appended to it. The UI also becomes Not Responding. Any help would be much appreciated.

Also, if you see anything else that could be done better, please comment and explain. Thanks!

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Drawing;
    using System.Globalization;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace ShutdownPC
    {
        public partial class Form1 : Form
        {
            int inputHours;
            int inputMinutes;
            int inputSeconds;

            Thread sleepingThread;
            Thread updatingThread;

            NotifyIcon shutdownPCIcon;
            Icon defaultIcon;

            public Form1()
            {
                InitializeComponent();
                defaultIcon = new Icon("defaultIcon.ico");
                shutdownPCIcon = new NotifyIcon();
                shutdownPCIcon.Icon = defaultIcon;
                shutdownPCIcon.Visible = true;

                MenuItem progNameMenuItem = new MenuItem("ShutdownPC by Conor");
                MenuItem breakMenuItem = new MenuItem("-");
                MenuItem quitMenuItem = new MenuItem("Quit");
                ContextMenu contextMenu = new ContextMenu();
                contextMenu.MenuItems.Add(progNameMenuItem);
                contextMenu.MenuItems.Add(breakMenuItem);
                contextMenu.MenuItems.Add(quitMenuItem);
                shutdownPCIcon.ContextMenu = contextMenu;

                shutdownPCIcon.Text = "ShutdownPC";

                quitMenuItem.Click += QuitMenuItem_Click;
            }

            private void QuitMenuItem_Click(object sender, EventArgs e)
            {
                shutdownPCIcon.Dispose();
                sleepingThread.Abort();
                updatingThread.Abort();
                this.Close();
            }

            public void sleepThread()
            {
                if (this.InvokeRequired)
                {
                    this.Invoke(new MethodInvoker(sleepThread));
                }
                else {
                    textBox1.Enabled = false;
                    textBox2.Enabled = false;
                    textBox3.Enabled = false;
                    button1.Enabled = false;

                    int totalMilliseconds = ((inputHours * 3600) + (inputMinutes * 60) + inputSeconds) * 1000;
                    Thread.Sleep(totalMilliseconds);
                    //Process.Start("shutdown", "/s /t 0");
                    richTextBox1.AppendText(String.Format("test"));
                }
            }

            public void updateThread()
            {
                if (this.InvokeRequired)
                {
                    this.Invoke(new MethodInvoker(updateThread));
                }
                else {
                    int totalSeconds = (inputHours * 3600) + (inputMinutes * 60) + inputSeconds;
                    while (totalSeconds > 0)
                    {
                        TimeSpan time = TimeSpan.FromSeconds(totalSeconds);

                        string timeOutput = time.ToString(@"hh\:mm\:ss");

                        richTextBox1.AppendText(String.Format(timeOutput));
                        Thread.Sleep(1000);
                        richTextBox1.Clear();
                        totalSeconds--;
                    }
                }
            }

            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                inputHours = Convert.ToInt32(textBox1.Text);
                inputHours = int.Parse(textBox1.Text);
            }

            private void textBox2_TextChanged(object sender, EventArgs e)
            {
                inputMinutes = Convert.ToInt32(textBox2.Text);
                inputMinutes = int.Parse(textBox2.Text);
            }

            private void textBox3_TextChanged(object sender, EventArgs e)
            {
                inputSeconds = Convert.ToInt32(textBox3.Text);
                inputSeconds = int.Parse(textBox3.Text);
            }

            private void button1_Click(object sender, EventArgs e)
            {
                updatingThread = new Thread(new ThreadStart(updateThread));
                updatingThread.Start();
                sleepingThread = new Thread(new ThreadStart(sleepThread));
                sleepingThread.Start();
            }

            private void richTextBox1_TextChanged(object sender, EventArgs e)
            {
            }
        }
    }
