1

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

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

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

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 数组。

提前谢谢!干杯亚历克斯

4

1 回答 1

3

最快的方法是为您的按钮单击创建匿名事件:

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

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

于 2013-10-22T08:06:22.730 回答