28.5.07

El Handles de Vb .Net

Una de las cosas que te llaman la atención cuandol te pasas de Vb6 a Visual Basic .Net es que en todos los eventos aparece la claúsula Handles. Por ejemlo, en el código de un botón tenemos:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

¿Y que es eso del Handles? Pues muy fácil, antiguamente, si cambiabas Button1_Click por cualquier otra cosa el compilador de Visual Basic se hací un lío y no sabía que ese trocito de código era el que tenía que ejecutar cuando se hace click en un botón. Ahora, en Visual Basic .Net puedes ponerle el nombre que quieras, porque el compilador sabe que es en click del botón (todo gracias al Handles). Es decir, el handles es el que le indica al compilador de que evento se trata, permiténdote cambiar el nombre (de todas formas, no te lo recomiendo).

Pero lo peor es cuando un día, misteriosamente, te desaparecen todos los Handles de todo el código y el compilador no sabe ni donde esconderse. Solución: escribir los Handles a mano (un infierno ¿verdad wifi?).

2 comentarios:

Anónimo dijo...

Pues si, es una situacion un tanto asquerosa, y bueno, Microsoft quiere que puedas personalizar todo lo que quieras, asi que te permite cambiar los nombres de los eventos, pero a cambio te mete el lio del que versa el tema. Cuanto mejor estaba antes, al menos si lo ciscabas lo tenias que haber hecho tu, no porque el editor se habia levanta con el pie izquierdo

Anónimo dijo...

Bueno, tiene la ventaja de que puedes asignar el mismo código a varios eventos:
Private Sub btnMoveRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMoveRight.Click, DataGrid1.DoubleClick