使用Onclick Event传递参数

时间:2013-10-22 08:02:41

标签: c# .net

我想知道如何通过onclick事件传递自定义变量。

我在表单中有几个按钮。任何此按钮都会打开一个对话框,其中包括一些复选框。当您单击“确定”按钮时,我必须检查已选中的复选框并执行其他操作(希望您了解我想要的内容)。对话框和任何内容都是以编程方式创建的。

所以我创建了复选框和确定按钮:

CheckBox[] chkModules = new CheckBox[lstFailedSteps.Count];
int chkCounter = 0;
foreach (int intFailedStep in lstFailedSteps) 
{
    chkModules[chkCounter] = new CheckBox();
    chkModules[chkCounter].Text = dicStepDescriptions[intFailedStep];
    chkModules[chkCounter].AutoSize = true;
    chkCounter++;
}

chkCounter = 0;
foreach (CheckBox check in chkModules)
{
    chkCounter += 25;
    check.Checked = true;
    pnlRestart.Controls.Add(check);                
}

Button btnOkay = new Button();
btnOkay.Text = "OK";
btnOkay.Click += btnOkay_Click;

好的,现在我想要点击按钮时调用的方法,传递chkModules数组。

提前thx! 干杯 亚历

1 个答案:

答案 0 :(得分:3)

迷人方式是为您的按钮点击创建匿名事件:

btnOkay.Click += (sender, e) =>
{
   //implement your click logic here or call method that accepts CheckBox[] as parameter
};

这样所有局部变量都在事件范围内。