2013-10-22 69 views
1

我想知道如何通過自定義參數與onclick事件。通過參數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提前! 乾杯 亞歷

+0

好的!你有什麼試圖這樣做?例如,你是否在'btnOkay_Click'處理程序的'pnlRestart.Controls'中循環了所有複選框,並檢查它們的檢查狀態? – CodeCaster

+0

可能的解決方案是 - 正如我剛剛發佈後發現的那樣 - 爲Checkbox數組創建一個靜態類var並從click方法訪問它... – DaFunkyAlex

回答

3

的fastes的方式爲您的按鈕,點擊創建匿名事件:

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

這樣所有的局部變量是在事件的範圍。

+0

EPIC ... thx很多。 – DaFunkyAlex