Una de las prácticas que se suelen hacer con frecuencia en programación consiste en porder modificar las propiedades de los objetos de un formulario desde otro. En Visual Basic 6 era bastante sencillo, pero ahora en .Net hay que hacer un pequeño truquillo.
Tenemos dos formularios: form1 y form2. En form2 hay dos botones, que para ser originales los llamaremos Button1 y Button2, y lo que queremos es que desde el primer formulario (form1) se modifiquen los text de los botones. ¿Y como lo hacemos? Pues aqui viene el truquillo:
Lo primero que necesitamos es un definirnos en un módulo una variable pública del siguiente modo:
Public myForm As Form2
Es muy importante que el tipo de la variable (el as Form2) sea el formulario en el que se van a modificar las cosas ¿porque? pues muy sencillo, porque en Form2_Load deberemos poner:
myForm = Me
De esta manera, conseguimos que el formulario, que está definido por Visual Basic .Net de forma privada lo podamos tener de forma pública gracias a la variable. Y ahora, desde el primer form, podemos modificar los valores de sus objetos con algo tan sencillo como:
myForm.Button1.Text = "Hola"
myForm.Button2.Text = "Adios"
Es decir, y resumiendo un poquillo, el truco está en utilizar una variable pública del tipo del formulario a modificar e inicializarla en dicho formulario, y luego, acceder a esa pantalla mediante dicha variable. Y, ¿para que es útil esto? Pues un ejemplo clásico suele ser el de tener un un form un listview con datos, y otro formulario encima modal que sea el que pida la información, de manera que insertemos los items al listview desde este segundo formulario.
Tenemos dos formularios: form1 y form2. En form2 hay dos botones, que para ser originales los llamaremos Button1 y Button2, y lo que queremos es que desde el primer formulario (form1) se modifiquen los text de los botones. ¿Y como lo hacemos? Pues aqui viene el truquillo:
Lo primero que necesitamos es un definirnos en un módulo una variable pública del siguiente modo:
Public myForm As Form2
Es muy importante que el tipo de la variable (el as Form2) sea el formulario en el que se van a modificar las cosas ¿porque? pues muy sencillo, porque en Form2_Load deberemos poner:
myForm = Me
De esta manera, conseguimos que el formulario, que está definido por Visual Basic .Net de forma privada lo podamos tener de forma pública gracias a la variable. Y ahora, desde el primer form, podemos modificar los valores de sus objetos con algo tan sencillo como:
myForm.Button1.Text = "Hola"
myForm.Button2.Text = "Adios"
Es decir, y resumiendo un poquillo, el truco está en utilizar una variable pública del tipo del formulario a modificar e inicializarla en dicho formulario, y luego, acceder a esa pantalla mediante dicha variable. Y, ¿para que es útil esto? Pues un ejemplo clásico suele ser el de tener un un form un listview con datos, y otro formulario encima modal que sea el que pida la información, de manera que insertemos los items al listview desde este segundo formulario.
1 comentario:
Gracias Compañero no sabes cuanto busque esta solucion Saludos desde chile
Publicar un comentario