列表框 - 从 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);
    }
}

它不起作用,无效的参数列表。

列表框 - 从 DoWork 线程中的操作

还需要传递ListBox lst

lst.Invoke(new AddListBoxItemDelegate(AddListBoxItem), lst, item);

。因为您的委托签名是AddListBoxItem(ListBox lst, object item) .