问题描述
小弟在看案例时遇到有关线程的问题,请问神恶魔时候使用invoke,一般怎么使用privatevoidbutton2_Click(objectsender,EventArgse){if(folderBrowserDialog1.ShowDialog()==DialogResult.OK){textBox2.Text=folderBrowserDialog1.SelectedPath;str=textBox1.Text;//获取源文件的名称str="\"+str.Substring(str.LastIndexOf('\')+1,str.Length-str.LastIndexOf('\')-1);ThreadthdAddFile=newThread(newThreadStart(SetAddFile));thdAddFile.Start();}}publicdelegatevoidAddFile();publicvoidSetAddFile(){AddFileRunAddFile=newAddFile(CopyFile);//此处有错误,想了好久不知道如何修改,请大家帮我看看this.Invoke(RunAddFile);}publicvoidCopyFile(stringFormerFile,stringtoFile,intSectSize,ProgressBarprogressBar1)
解决方案
解决方案二:
一般是其他线程访问ui资源需要使用,否则回报错。
解决方案三:
将操作线程的代码放在UI线程同步执行。
时间: 2024-09-20 19:32:51