C# 如何通过按钮事件处理程序传递对象

C# 如何通过按钮事件处理程序传递对象,c#,winforms,buttonclick,dynamic-controls,C#,Winforms,Buttonclick,Dynamic Controls,我有一个winform,它有几个基于数据库中的信息动态创建的模块。每个模块都有一个编辑按钮。我希望能够将一个对象传递给click处理程序,然后传递给新表单,但我不知道如何传递。任何帮助都会让人感到惊讶这是我所拥有的: PingServer temp = manager.servers.ElementAt(i).Value; EditButton.Click += new EventHandler(openEditor(temp)); private void openEditor(PingS

我有一个winform,它有几个基于数据库中的信息动态创建的模块。每个模块都有一个编辑按钮。我希望能够将一个对象传递给click处理程序,然后传递给新表单,但我不知道如何传递。任何帮助都会让人感到惊讶这是我所拥有的:

PingServer temp = manager.servers.ElementAt(i).Value;

EditButton.Click += new EventHandler(openEditor(temp));

private void openEditor(PingServer server)       
{            
    EditConnectionForm editConnection = new EditConnectionForm(server);
    editConnection.ShowDialog();
}

使用lambda关闭变量:

EditButton.Click += (sender, args) => openEditor(temp);

非常感谢,这正是我所需要的。你们有关于lambda的教程或文档吗?因为我对它不太熟悉technique@user2952817不太清楚,但谷歌知道有几千个,我相信你能找到一个你喜欢的,这就是为什么我给了你一个合适的词,这样你就可以在上面搜索了。@user2952817看起来像是Bing或谷歌已经关闭了。即使这样,我们仍然拥有雅虎!搜索(我过去最喜欢的搜索引擎:)和其他许多搜索引擎<代码>Lambda express非常容易让人熟悉。