【问题标题】:Can't modify datagridview from task (c#)无法从任务修改 datagridview (c#)
【发布时间】:2023-03-29 18:20:01
【问题描述】:

我的场景:

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

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

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

【问题讨论】:

    标签: c# user-interface delegates task invoke


    【解决方案1】:

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

    【讨论】:

    • 爱总是美好的;不过,我会接受一个公认的答案。 ;)
    猜你喜欢
    • 2017-01-10
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多