执行一个循环,想让循环每执行一次,控件上显示的内容就更新一下。 private void button_Click(object sender, EventArgs e)
int num = 0;
for (int i = 0; i < **; i++)
{
//此处若干其他代码
//……
//
num += 1;
label1.Text = num.ToString();
}
}这样的代码,在循环执行的过程中,窗体上的内容不改变,只有等循环执行完了,label1才显示num最后的值。
请教下如何才能让label1上的数值实时显示?
int num = 0;
for (int i = 0; i < **; i++)
{
//此处若干其他代码
//……
//
num += 1;
label1.Text = num.ToString();
}
}这样的代码,在循环执行的过程中,窗体上的内容不改变,只有等循环执行完了,label1才显示num最后的值。
请教下如何才能让label1上的数值实时显示?
后面加上:
Application.DoEvents();
for (int i = 0; i < **; i++)
{
//此处若干其他代码
//……
//
num += 1;
label1.Text = num.ToString();
}
这个For循环了,所以没有去更新Label上的值
你把button_Click中的内容放到一个新的函数里面,然后button_Click内启动一个线程,执行这个函数就可以了另外,Label要设置一个属性
Label.CheckForIllegalCrossThreadCalls = false; //注意是Label,不是label1 private void se()
{
for (int i = 0; i < 100; i++)
label1.Text = i.ToString();
} private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread t = new System.Threading.Thread(se);
t.Start();
}
委托?能说详细点么~