一个for循环来创建方法,还是一些等价的?

Sky*_*Sky 2 c# methods for-loop runtime

我正在开发一个项目,我处于管理员需要接受新用户进入系统的情况.我有一个只有管理员才能访问的表单,其中显示了所有等待申请人的列表.我已经找到了如何在运行时创建按钮以及如何为click事件添加事件处理程序,但处理程序需要一个同名的方法来运行.

显然我不能只为for循环中的方法放置代码,除非我弄错了.我如何为该计划提供支持潜在无限数量申请人的能力?

void AcceptUsersAdminLoad(object sender, EventArgs e)
{       
    //FOR LOOP - To be finished. Will read an xml file to find out # to loop.
    Button newButton = new Button();
    newButton.Click += new System.EventHandler(newButtonClick);
    newButton.Text = "Accept";
    Panel1.Controls.Add(newButton);

}

private void newButtonClick (Object sender, System.EventArgs e){

}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但正如我所说,只有一个按钮.由于复制方法并将其名称附加数字一百次相对无痛,我更愿意找到支持更多的方法.

Idl*_*ind 7

您可以对所有按钮使用相同的方法!该sender参数将告诉您哪个按钮是源,只需将其转换为按钮即可.您可以在按钮的Tag()属性中存储某种ID,以便了解您正在使用的对象(创建它们时,分配它).