这是我的方法:(我已经看到了其他几个与跨线程相关的答案,但我不理解这些解决方案如何适合我的特定情况。)
private void live_refresh()
{
while (true)
{
viewBackup.Nodes.Clear();
Control.storage.refresh_files_list();
viewBackup.Nodes.Add(Control.storage.get_files_node());
List<FileInfo> list = Control.sched.get_difference();
this.viewCopy.Items.Clear();
foreach (FileInfo file in list)
this.viewCopy.Items.Add(file.FullName.Substring(Control.filer.get_path().Length + 1));
}
}
}
抛出异常:“跨线程操作无效:控件'viewBackup'从创建它的线程以外的线程访问。”
any1 可以帮我解决这个问题吗?除了 Invoke() 还有什么办法吗?我不明白。。