我读了下面的线程Why use suspendLayout。所以我想我会创建一个小的例子,给予我的概念证明。但是,它不工作。我只看到“第二部分完成”。
private void button1_Click(object sender, EventArgs e)
{
this.SuspendLayout();
lblStatus.Text = "Part 1 completed";
this.ResumeLayout();
System.Threading.Thread.Sleep(5000);
this.SuspendLayout();
lblStatus.Text = "Part 2 completed";
this.ResumeLayout();
}
1条答案
按热度按时间a5g8bdjr1#
您已阻止UI线程执行
Thread.Sleep()
(例如,处理WM_SETTEXT消息),因此它无法更新UI以 * 显示 *“Part 1 completed”。它只能在UI线程已恢复且您已要求它显示“Part 2 completed”时刷新自身如果要模拟更改文本框值的间隔时间,可以使用
Timer
。例如: