我是C#的新程序员,我想要一些帮助。我搜索了很多,但我没有找到一个简单的例子。请参阅以下代码:
public partial class Welcome : Form
{
public Welcome()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
Compare comp = new Compare();
comp.Comparator();
}
}
在Compare
Class
我有一个包含简单循环的简单方法:
public class Compare
{
public void Comparator()
{
for (int i;i<val;i++)
{ /* ............. */ }
}
}
我希望以ProgressBar
的增量值并行更新i
。
答案 0 :(得分:1)
你说你搜索了很多......在哪里?这些是最简单的事情,在MSDN中有很好描述的例子
BackgroundWorker_doWork方法中的:
Parallel.For(0, val, i =>
{
...
backgroundWorker.ReportProgress(0);
});
BackgroundWorker_reportProgress方法中的:
wf.progressBar.Value=wf.progressBar.Value + 1;
在主窗体构造函数
中public Welcome()
{
InitializeComponent();
Compare.wf=this;
}
在
public class Compare
{
static Welcome wf;
public void Comparator()
{
backgroundWorker.RunWorkerAsync();
}
}
答案 1 :(得分:0)
这样做的一个简单方法是:
public class Compare
{
public void Comparator()
{
progressBar.Value = 0;
progressBar.Maximum = val;
progressBar.Step = 1;
for (int i;i<val;i++)
{
/* ............. */
progressBar.PerformStep();
}
}
}