我通过点击button按钮,循环上传文件到服务器上。每上传一个就把lbl标签改变一下。
下面是一点代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
for(int i=1;i<=100;i++)
{
upLoad(i.ToString());
this.lbl.Text = i+"/100";
} }
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
}
private void upLoad(string fileName)
{
......
}
现在问题是我点击了button按钮以后,程序执行了,但是不能实时显示上传了多少,只能看着漏斗状的鼠标,一直到全部上传成功显示了100/100请问如何解决?
下面是一点代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
for(int i=1;i<=100;i++)
{
upLoad(i.ToString());
this.lbl.Text = i+"/100";
} }
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
}
private void upLoad(string fileName)
{
......
}
现在问题是我点击了button按钮以后,程序执行了,但是不能实时显示上传了多少,只能看着漏斗状的鼠标,一直到全部上传成功显示了100/100请问如何解决?
{
Thread thread=new Thread(new ThreadStart(yourmethod));
}
public void yourmethod()
{
//doing something
}
设置timer1每隔一秒(或者更小时间)刷新label.text
private void button1_Click(object sender, EventArgs e)
{
try
{
for(int i=1;i<=100;i++)
{
upLoad(i.ToString());
this.lbl.Text = i+"/100";
Application.DoEvents();
} }
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
}
{
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(Exec));
thread.IsBackground = true;
thread.Start();
}private void Exec()
{
for(int i=1;i<=100;i++)
{
upLoad(i.ToString()); Invoke((MethodInvoker)delegate
{
this.lbl.Text = i+"/100";
});
}
}