2009-04-15 35 views
5

Como Google me ha fallado durante los últimos 5-10 minutos, tengo una pregunta rápida. Deseo pasar un valor de parámetro a una función a la que llamo desde un botón. Haga clic en Manejador de eventos. El evento se añade actualmente usandoPasando un parámetro a System.EventHandler en C#

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

Pero yo quiero la función para recibir:

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

¿Cómo puedo cambiar mi declaración de manejador de sucesos para que esto se puede lograr?

Respuesta

13

Button.Click se define como está, y no hay forma de cambiarlo. Sin embargo,

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

hará el trabajo.

+0

Trabajó como un encanto. Gracias. – corymathews

+1

versión lambda: 'myButton.Click + = (remitente, e) => MyButton_Click (1);' – ShawnFeatherly

0

puede utilizar CommandArgument property y luego emitir un remitente en el controlador de eventos a un tipo de botón para obtener el valor CommandArgument

Cuestiones relacionadas