如何在C#循环期间多次更改控件的属性

Ale*_*lex 2 c#

我正在尝试做这样的事情:

int i;
while(true)
{
    label1.Text = i.ToString();
    i++;
    Thread.Sleep(500);
}
Run Code Online (Sandbox Code Playgroud)

(实际上我正在尝试做一些更复杂的事情,这更有意义,但这是我问题的一个简单例子)我期待标签的文字每1/2秒改变一次..但是它被卡住了.

谢谢

Gil*_*man 5

你不能让GUI-Thread睡眠(因为GUI不会响应)(而且我说即使我喜欢睡觉*很多*).

考虑以下替代方案之一:

  • 在单独的线程上运行此代码
  • 创建一个以500为间隔的计时器
  • 某种约束力