列表框 - 从 DoWork 线程中的操作
本文关键字:操作 线程 DoWork 列表 | 更新日期: 2023-09-27 18:32:40
我需要从BG Worker DoWork()中更新列表框。我创建了一个这样的通用线程安全函数(用于 dll 内部):
private delegate void AddListBoxItemDelegate(ListBox lst, object item);
public static void AddListBoxItem(ListBox lst, object item)
{
if (lst.InvokeRequired)
{
lst.Invoke(new AddListBoxItemDelegate(AddListBoxItem), item);
}
else
{
lst.Items.Add(item);
}
}
它不起作用,无效的参数列表。
您
还需要传递ListBox lst
:
lst.Invoke(new AddListBoxItemDelegate(AddListBoxItem), lst, item);
。因为您的委托签名是AddListBoxItem(ListBox lst, object item)
.