protected void PrepareCopy() { foreach (Control c in panel1.Controls) { if ((c is CheckBox) && ((CheckBox)c).Checked) { switch (c.Name) { case "checkBox1": CardReader disk1 = new CardReader(c.Text, txtDestinationFolder.Text); disk1.ObjNo = 1; thread1 = new Thread(() => CopyFiles(disk1)); thread1.Start(); thread1.IsBackground = true; break; case "checkBox2": CardReader disk2 = new CardReader(c.Text, txtDestinationFolder.Text); disk2.ObjNo = 2; thread2 = new Thread(() => CopyFiles(disk2)); thread2.Start(); thread2.IsBackground = true; break; case "checkBox3": CardReader disk3 = new CardReader(c.Text, txtDestinationFolder.Text); disk3.ObjNo = 3; thread3 = new Thread(() => CopyFiles(disk3)); thread3.Start(); thread3.IsBackground = true; break; case "checkBox4": CardReader disk4 = new CardReader(c.Text, txtDestinationFolder.Text); disk4.ObjNo = 4; thread4 = new Thread(() => CopyFiles(disk4)); thread4.Start(); thread4.IsBackground = true; break; } logInfo.AddResultInfo(txtResultInfo, "Copy " + c.Text + " index=" + c.Name); RunProcessMonitor(); } } }
public void CopyFiles(CardReader obj) { string[] srcFileList = obj.GetSrcFileList(); string info = string.Empty; ProgressBar progressCrl = new ProgressBar(); logInfo.AddResultInfo(txtResultInfo, "Rozpoczęto kopiowanie dysku: " + obj.SrcDir); foreach (var srcFile in srcFileList) { info = obj.CopyFile(srcFile); logInfo.AddResultInfo(txtResultInfo, info); switch (obj.ObjNo) { case 1: progressCrl = progressBar1; break; case 2: progressCrl = progressBar2; break; case 3: progressCrl = progressBar3; break; case 4: progressCrl = progressBar4; break; } logInfo.SetProgressBarValue(progressCrl, obj.CopyProgress); } }