Principales respuestas
como saber si un formulario hijo se encuentra abierto para pasarle un dato a un textbox

Pregunta
-
Respuestas
-
Hola, puedes hacer uso de la Application.OpenForms("nombre del formulario") si está dentro de dicha colección asignale el valor al textbox.
Mi Blog: http://jtorrecilla.blogspot.es- Marcado como respuesta J. Miguel jueves, 12 de noviembre de 2009 12:52
-
Hola J.Miguel,
como dice jtorrecilla, puedes detectar si un formulario está abierto o no con la lista Application.OpenForms.
Si tu formulario se encuentra dentro de esta lista, significa que está abierto.
Ahora bien, para pasarle un valor a un textbox tienes varias opciones:
1.- Haces que el control textBox (o el que control que quieras) tenga visibilidad pública (es decir, que esté declarado como public, no como protected o private). Esto puedes cambiarlo en el archivo de diseño del formulario. Para ver este archivo, ves al explorador de soluciones, selecciona tu formulario y haz click en el botón + que aparece a su lado. Abre el archivo llamado XXX.Designer.vb. Ahi dentro busca la declaración del textBox (o el control que sea) y cambia su visibilidad (accesibilidad) de private a public. Esta es una opción aunque no es demasiado aconsejable.
2.- Create una propiedad publica en tu clase que te permita modificar el Texto del TextBox. Algo como esto:
Public Property EstableceTextoTextBox(Byval texto As String) As String
Get
Return TuTextBox.Text
End Get
Set
TuTextBox.Text=Value
End Set
End Property
esta opción es más elegante, desde mi punto de vista.
En caso de que la respuesta te sirva, porfavor, márcala como válida
Muchas gracias y suerte!
Javier Jiménez Roda
MCP (Microsoft Certified Professional)
MCTS (Microsoft Certified Technology Specialist)
MCPD (Microsoft Certified Professional Developer)
Blog: http://jimenezroda.wordpress.com- Marcado como respuesta J. Miguel jueves, 12 de noviembre de 2009 12:52
Todas las respuestas
-
Hola, puedes hacer uso de la Application.OpenForms("nombre del formulario") si está dentro de dicha colección asignale el valor al textbox.
Mi Blog: http://jtorrecilla.blogspot.es- Marcado como respuesta J. Miguel jueves, 12 de noviembre de 2009 12:52
-
Hola J.Miguel,
como dice jtorrecilla, puedes detectar si un formulario está abierto o no con la lista Application.OpenForms.
Si tu formulario se encuentra dentro de esta lista, significa que está abierto.
Ahora bien, para pasarle un valor a un textbox tienes varias opciones:
1.- Haces que el control textBox (o el que control que quieras) tenga visibilidad pública (es decir, que esté declarado como public, no como protected o private). Esto puedes cambiarlo en el archivo de diseño del formulario. Para ver este archivo, ves al explorador de soluciones, selecciona tu formulario y haz click en el botón + que aparece a su lado. Abre el archivo llamado XXX.Designer.vb. Ahi dentro busca la declaración del textBox (o el control que sea) y cambia su visibilidad (accesibilidad) de private a public. Esta es una opción aunque no es demasiado aconsejable.
2.- Create una propiedad publica en tu clase que te permita modificar el Texto del TextBox. Algo como esto:
Public Property EstableceTextoTextBox(Byval texto As String) As String
Get
Return TuTextBox.Text
End Get
Set
TuTextBox.Text=Value
End Set
End Property
esta opción es más elegante, desde mi punto de vista.
En caso de que la respuesta te sirva, porfavor, márcala como válida
Muchas gracias y suerte!
Javier Jiménez Roda
MCP (Microsoft Certified Professional)
MCTS (Microsoft Certified Technology Specialist)
MCPD (Microsoft Certified Professional Developer)
Blog: http://jimenezroda.wordpress.com- Marcado como respuesta J. Miguel jueves, 12 de noviembre de 2009 12:52
-
hola
si estas dentro del formulario que es IsMdiContainer=true tiene una propiedad de este que se llama
Form. MdiChildren
este te devuelve un array con todos los formularios hijos vinculador a este formulario
podrias trabajar con esta propeidad que es de solo lectura, con esta propiedad podras detectar si esta abirto y tomar la instancia.
luego necesitaras hacer uso de propiedades definida en el formulario hijo, algo ya te comento Javier, en el form hijo creas una propiedad publica
Public Class Form2
Private _texto As String
Public Property Texto(Byval texto As String) As String
Get
Return _texto
End Get
Set
_texto =Value
End Set
End Property
Public Sub Refresh()
TextBox1.Text = Me.Texto
End Sub
End Class
como veras a fiferencia de Javier no te aconsejo qeu en la propeidad asignes directo el valor, que la propeidad sea solo contenedora, utiliza algun metodo para procesar el Refresh de la info, es mas este refresh podrias aplicar ms logica, que la simple asignacion del valor a el TextBox, podrias lanzar validacion, cambiar el valor de otros campos, hacer recalculos, etc
para usarlo harias
Dim form As New Form2
form.Text = "<valor>"
form.Refresh()
form.Show()
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Javier Jiménez Roda jueves, 12 de noviembre de 2009 13:32