我有一个项目列表框和一个cmd进程,我想为列表框中的每个项目执行此操作 所以我的代码是:
public void Hs(ListBox list)
{
IEnumerable<String> data = new List<String>(list.Items.Cast<String>());
Parallel.ForEach(data, (item) =>
{
listBox2.Invoke(new MethodInvoker(delegate
{
//Show which file in listbox is processing
listBox2.Items.Add(Path.GetFileName(item));
}));
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "cmd.exe";
......
});
}
但是,即使列表只有1个项目,它也会一次又一次地重复处理。
非常感谢你!