2009-04-15 19 views
5

Da Google mich in den letzten 5-10 Minuten fehlgeschlagen ist, habe ich eine kurze Frage. Ich möchte einen Parameter Wert in eine Funktion übergeben, die ich von einem button.click Event Handler aufrufen. Die Veranstaltung wird derzeit hinzugefügtÜbergabe eines Param an System.EventHandler in C#

mit
MyButton.Click = new System.EventHandler(MyButton_click); 

Aber ich möchte, dass die Funktion erhalten:

private void MyButton_click(int ID) 
{ 
... 
} 

Wie kann ich meine Eventhandler Erklärung ändern, so dass dies erreicht werden kann?

Antwort

13

Button.Click ist so definiert, wie es ist, und es gibt keine Möglichkeit, es zu ändern.

myButton.Click += delegate { MyButton_click(1); } 

wird die Aufgabe erledigen.

+0

Arbeitete zu bekommen. Vielen Dank. – corymathews

+1

Lambda-Version: 'myButton.Click + = (Absender, e) => MyButton_Click (1);' – ShawnFeatherly

0

können Sie CommandArgument property verwenden und werfen dann einen Absender in Ihrem Event-Handler auf einen Button-Typ wie ein Zauber der Command Wert

Verwandte Themen