【发布时间】:2012-09-20 08:50:39
【问题描述】:
我想同时运行两个函数。
第一个函数将统计我计算机中的文件总数,并将结果显示在一个 DatagridView 中。
并且在第二个函数中,会根据文件总数改变一个进度条的值,也就是说当DatagridView中绑定所有文件时,进度条的值将设置为100。
我想同步两个函数的工作,我在使用两个线程但是结果没有显示,发生了异常。
我该怎么办?
我的代码是
ThreadStart threadstatr = new ThreadStart(Function_1);
ThreadStart threaProgress = new ThreadStart(Function_2);
Thread thread = new Thread(threadstatr);
Thread threadpro = new Thread(threaProgress);
thread.Start();
threadpro.Start();
thread.Join();
threadpro.Join();
void Function_2()
{
int coun = ((Convert.ToInt32(label1.Text)) / 100); //here label1 represents total no. of files
for (int i = 0; i < coun; i++)
{
backgroundWorker1.ReportProgress(i);
}
}
异常是“输入字符串的格式不正确。”因为标签没有机会自我更新
【问题讨论】:
-
你试过什么?显示一些代码?为什么你还有一个单独的线程用于进度条?
-
同上,还有什么例外?
-
ThreadStart threadstatr = new ThreadStart(Function_1); ThreadStart threaProgress = new ThreadStart(Function_2);线程 thread = new Thread(threadstatr);线程 threadpro = new Thread(threaProgress);线程.Start(); threadpro.Start();线程.Join(); threadpro.Join();
-
“输入字符串的格式不正确。”,很明显 label1.text 不是数字。
-
那些变量名让我想伤害自己...
标签: c# .net desktop-application