使用Thread.Sleep时UI不更新

ali*_*ani 0 c# wpf

我有应用程序有我想要的按钮,每1秒点击此按钮添加特殊文本添加到TextBox但单击此按钮时,等待并一起输入所有文本.

有什么问题?

例如 :

 private void button2_Click(object sender, RoutedEventArgs e)
        {
            Random rand = new Random(DateTime.Now.Millisecond);
            textBox1.Text = "";
            for (int i = 0; i < 10; i++)
            {
                textBox1.Text += rand.Next(1,10) + "\n";
                System.Threading.Thread.Sleep(1000);
            }
        }
Run Code Online (Sandbox Code Playgroud)

谢谢.

SLa*_*aks 6

你在UI线程上睡觉了.
这会冻结用户界面.

相反,使用a BackgroundWorker及其进度事件.