Thread in C# causing infinite loop and blocks my application
<p>I have created a Thread in which i just move a radiobutton from left to right of the form.
This runs, but my application get's blocked, i can't move the form around, nothing(I thought this was the reason for creating threads, to make multiple things at the same time)
Here is my code and I hope you understand what I asked. Thanks in advance</p>

<pre><code>    private void moveRight()
    {
        radioButton1.Left++;
    }
    private void moveLeft()
    {
        radioButton1.Left--;
    }
    public void run()
    {
        while (true)
        {
            while (radioButton1.Left != this.ClientSize.Width - 10)
            {
                if (InvokeRequired)
                {
                    Invoke(new MethodInvoker(moveRight));
                }
                else
                {
                    moveRight();
                }
            }
            while (radioButton1.Left != 10)
            {
                if (InvokeRequired)
                {
                    Invoke(new MethodInvoker(moveLeft));
                }
                else
                {
                    moveLeft();
                }
            }
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        t = new Thread(new ThreadStart(run)); 
        t.Start();
    }
</code></pre>
