eventos en C#

17/05/2007 - 14:16 por DarthSidious | Informe spam
hola!!

estoy empezando con C#, ya que es lo que mas se pide..

tengo algunas dudas con respecto a los eventos, porque en los lenguajes como
vb, uno selecciona el evento, introduce el codigo y listo. Pero segun veo en
C# hay que "declarar" que se va a usar ese X evento para cierto control.
En mi caso por ejemplo, queria caputurar el evento KeyPress en un textbox
para ir validando lo que se introduce.
Para hacer tal cosa si pongo lo siguiente no funciona:

this.textBox1.KeyPress += new System.EventHandler(this.textBox1_KeyPress);

me tira este error:

Error 1 No overload for 'textBox1_KeyPress' matches delegate

pero esta sintaxis si funciona con el metodo TextChanged que vi declarado en
form.designer.cs

lo que si funciona es si pongo:

this.textBox1.KeyPress += this.textBox1_KeyPress;

porque la primer forma me da ese error, mientras que esta ultima no?
quiero hacerlo de la forma correcta y mas optima.

desde ya si tienen algun texto entendible sobre eventos en C# se agradece.
Me han dicho que es parecido a como se manejan en java pero no he programado
en java, solo C++

gracias!!
 

Leer las respuestas

#1 Alberto Poblacion
17/05/2007 - 14:43 | Informe spam
"DarthSidious" wrote in message
news:
this.textBox1.KeyPress += new System.EventHandler(this.textBox1_KeyPress);

me tira este error:

Error 1 No overload for 'textBox1_KeyPress' matches delegate



Esencialmente el mensaje de error te está diciendo que textBox1_KeyPress
no tiene los argumentos correctos. Tiene que coincidir con la definición
esperada por System.EventHandler (el delegado), que en este caso es asi:

void textBox1_KeyPress(object sender, EventArgs e)

Si le has puesto otros argumentos distintos a la rutina, te da ese error.

Preguntas similares