0

我的场景:

我已经宣布(课外)代表:

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)));

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

4

1 回答 1

2

这是因为当你初始化一个委托时,它希望你说出你指向哪个函数,而不是整个函数调用本身。因此,您需要初始化委托,然后使用参数跟进其余的 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
);

此外,请查看此链接以获取有关执行此操作的不同方式的更多信息:

Control.Invoke 输入参数

于 2013-05-27T16:05:11.660 回答