C# 通过类获取线程中ListView中的项
我有一个类,其中有一个函数“Build”,该类接受一个参数:“ListView lstFiles”。当调用.Build时,它会遍历listview中的每个项并对其进行处理 当我尝试执行此操作时,会出现错误“跨线程访问冲突” 我的代码:C# 通过类获取线程中ListView中的项,c#,.net,multithreading,exception,C#,.net,Multithreading,Exception,我有一个类,其中有一个函数“Build”,该类接受一个参数:“ListView lstFiles”。当调用.Build时,它会遍历listview中的每个项并对其进行处理 当我尝试执行此操作时,会出现错误“跨线程访问冲突” 我的代码: foreach (ListViewItem item in lstFiles.Items) { // Processing here } 我试着得到这里描述的物品 我需要获取ListView中的每个项目并对其进行处理 有人能帮忙吗?使用委托解决跨线程问题
foreach (ListViewItem item in lstFiles.Items)
{
// Processing here
}
我试着得到这里描述的物品
我需要获取ListView中的每个项目并对其进行处理
有人能帮忙吗?使用委托解决跨线程问题。例如
delegate ListView.ListViewItemCollection DelGetItems(ListView lvControl);
ListView.ListViewItemCollection GetItems(ListView lvControl)
{
if (lvControl.InvokeRequired)
{
return (ListView.ListViewItemCollection)lvControl.Invoke(new DelGetItems(GetItems) ,new Object[] { lvControl });
}
else
{
return lvControl.Items;
}
}
代码是如何被触发的?这段代码是从您之前创建的另一个线程执行的吗?这段代码是由一个类(一个单独的类)触发的。我调整了您的代码(因为我不能使用“this.Invoke”),仍然得到一个空值。请记住,我正在使用一个类,然后调用Build方法。该类有一个构造函数,该构造函数将ListView的名称作为参数。