不能从任务中修改datagridview (c#)

本文关键字:datagridview 修改 任务 不能 | 更新日期: 2023-09-27 18:15:47

我的场景:

我已经(在类外)声明了委托:

public delegate void add_row_item(string category, string name, string address, string locality, string cap, string tel, string fax, string www, string email_results, string business_url, string map_query, DataGridView table);

然后我有这个功能,添加一个行到我的datagridview上的主要形式

 public void update_add_row_item(string category, string name, string address, string locality, string cap, string tel, string fax, string www, string email_results, string business_url, string map_query, DataGridView table)
        {
            table.Rows.Add(category, name, address, locality, cap, tel, fax, www, email_results, business_url, map_query);
        }

但是当我在任务中调用方法时,我得到一个"方法名称预期"错误:

results_grid.Invoke(new add_row_item(update_add_row_item(category, name, address, locality, cap, tel, fax, www, email_results, business_url, map_query, results_grid)));

我的代码有什么问题?谢谢!

不能从任务中修改datagridview (c#)

这是因为当你初始化一个委托时,它希望你说你要指向哪个函数,而不是整个函数调用本身。因此,您需要初始化委托,然后使用参数跟踪Invoke调用的其余部分,如下所示:

results_grid.Invoke(new add_row_item(update_add_row_item), 
    category, name, address, locality, cap, tel, fax, www, email_results, business_url, map_query, results_grid
);

另外,查看这个链接了解更多关于不同方法的信息:

控制。调用输入参数