La Web del Programador: Comunidad de Programadores
 
    Pregunta:  41525 - CONTROL DE PROPIEDADES DESDE OTROS FORMS
Autor:  Enrique Lara
Necesito saber como en VB.Net se pueden modificar las propiedades de un control (p.e. TEXT1.Text del FORM1 que está activado) desde otro formulario que tambien lo está.
Por ejemplo, como se puede con el evento mousemove de un buttom que está en un formulario hijo, cambiar la propiedad Text de un panel en el Statusbar del formulario padre. En VB6 era tan sencillo como:
MDIForm!StatusBar1.Panels(2).Text = "TEXTO"

Todo esto que planteo, tambien es aplicable en el caso de acceder a las propiedades de un control que está en un formulario desde una clase o modulo de código.

  Respuesta:  Julio Ochoa
El ejemplo es el siguiente:
Tienes FORM1 y FORM2. En FORM1 tienes TEXTBOX1 y en FORM2 tienes BOTON1

Cuando activas FORM2, digamos desde FORM1 lo haces de la siguiente forma

Dim frm2 as NEW FORM2
frm2.Show

Ahora bien, lo que tienes que hacer es:
Definir en FORM2 una variable publica de tipo TEXTBOX

Public txt as TEXTBOX

Despues, antes de mandar llamar a FORM2 tienes que asignarle TEXTBOX1 a la variable txt que definiste en FORM2. Esto quedaria de la siguiente manera:

Dim frm2 as NEW FORM2

frm2.txt = TEXTBOX1
frm2.Show

Despues, cuando quieras modificar las propiedades de TEXTBOX1 desde FORM2 solo te refieres a ella como txt (que es la variable que definiste en FORM2 y a la que le asisgnaste el objeto que deseas manipular). Por ejemplo

txt.Text = "Hola Julio Ochoa"

Y eso es todo. (Fonciona de la misma manera para cualquier objeto)
Recuerda que las aplicaciones en .NET ya no trabajan con los objetos en si, sino con instancias de los mismos.

Espero que esta informacion te sirva. Se que no soy bueno para explicar asi que si tienes alguna duda solo mandame un correo.