Warum friert Thread.Sleep () das Formular ein?

Ich versuche mit @ zu experimentierThread.Sleep(). Ich habe eine grundlegende Windows Forms-Anwendung mit einer Schaltfläche erstellt.

    private void button1_Click(object sender, EventArgs e)
    {
        Thread thread1 = new Thread(DoStuff);
        thread1.Start();

        for (int i = 0; i < 100000; i++)
        {
            Thread.Sleep(500);
            button1.Text +=".";
        }
    }

    public void DoStuff()
    {
       //DoStuff         
    }

Wenn ich auf meine Schaltfläche klicke, wird dasDoStuff Methode funktioniert gut, aber die GUI friert ein und es passiert nichts. Kann mir jemand erklären warum?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage