//下面是个WinForm应用程序
//触发 button1 的单击按钮事件时,循环 X 次
//在 label1 控件中显示循环变量
//如果不加 this.label1.Refresh(); 将无法与循环变量同步刷新
//但是加上 this.label1.Refresh(); 只要窗体失去焦点,或拖动窗体,应用程序将无法响应(崩溃了)
//后来发现不管刷不刷新控件,拖动窗体应用程序都会崩溃掉
//如何让 label 控件在失去焦点时也能同步显示处理的内容
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 1000000; i++)
{
this.label1.Text = "第: " + i.ToString() + " 项.";
this.label1.Refresh();
}
}
//触发 button1 的单击按钮事件时,循环 X 次
//在 label1 控件中显示循环变量
//如果不加 this.label1.Refresh(); 将无法与循环变量同步刷新
//但是加上 this.label1.Refresh(); 只要窗体失去焦点,或拖动窗体,应用程序将无法响应(崩溃了)
//后来发现不管刷不刷新控件,拖动窗体应用程序都会崩溃掉
//如何让 label 控件在失去焦点时也能同步显示处理的内容
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 1000000; i++)
{
this.label1.Text = "第: " + i.ToString() + " 项.";
this.label1.Refresh();
}
}
或者加上Application.DoEvent()看看
改成:
Application.DoEvents();希望楼主及时结贴