Datos de una Forma a Otra.

05/04/2006 - 22:47 por Alberto Guerrero Zaro | Informe spam
Srs.

No soy experto en el tema. Estoy usando VB.NET 2003 , y trato de traspasar
datos desde una forma, a controles de texto de la forma originaria o de
quien la llamó; en Visual6 super simple. Aquí no le he podido encontrar el
asunto.
He hice algo rebuscado como esto:
`
Dim i As Integer, nomcontrol As String, ncontroles As Integer
ncontroles = Me.Owner.Controls.Count
For i = 0 To ncontroles - 1
nomcontrol = Me.Owner.Controls.Item(i).Name
Select Case nomcontrol
Case "txtsnrut" 'control al cual deseo traspasar la información en la otra
forma
Me.Owner.Controls.Item(i).Text = "9567876-2"
End Select
Next i
`
Debe haber algo mas simple como

socios.txtsnrut.text=listado.txtsnrut.txt

Si alguien me puede orientar lo agradecería
Atentamente
Alberto Guerrero Zaro.

Preguntas similare

Leer las respuestas

#1 Lord Voldemort
06/04/2006 - 01:37 | Informe spam
bienvenido al mundo de M$
veamos como superan esa simplicidad..

"Alberto Guerrero Zaro" wrote in message
news:%
Srs.

No soy experto en el tema. Estoy usando VB.NET 2003 , y trato de traspasar
datos desde una forma, a controles de texto de la forma originaria o de
quien la llamó; en Visual6 super simple. Aquí no le he podido encontrar el
asunto.
He hice algo rebuscado como esto:
`
Dim i As Integer, nomcontrol As String, ncontroles As Integer
ncontroles = Me.Owner.Controls.Count
For i = 0 To ncontroles - 1
nomcontrol = Me.Owner.Controls.Item(i).Name
Select Case nomcontrol
Case "txtsnrut" 'control al cual deseo traspasar la información en la otra
forma
Me.Owner.Controls.Item(i).Text = "9567876-2"
End Select
Next i
`
Debe haber algo mas simple como

socios.txtsnrut.text=listado.txtsnrut.txt

Si alguien me puede orientar lo agradecería
Atentamente
Alberto Guerrero Zaro.

Respuesta Responder a este mensaje
#2 Leonardo Azpurua
06/04/2006 - 05:57 | Informe spam
"Alberto Guerrero Zaro" escribió en el mensaje
news:%
Srs.

No soy experto en el tema. Estoy usando VB.NET 2003 , y trato de traspasar
datos desde una forma, a controles de texto de la forma originaria o de
quien la llamó; en Visual6 super simple. Aquí no le he podido encontrar el
asunto.
He hice algo rebuscado como esto:
`
Dim i As Integer, nomcontrol As String, ncontroles As Integer
ncontroles = Me.Owner.Controls.Count
For i = 0 To ncontroles - 1
nomcontrol = Me.Owner.Controls.Item(i).Name
Select Case nomcontrol
Case "txtsnrut" 'control al cual deseo traspasar la información en la otra
forma
Me.Owner.Controls.Item(i).Text = "9567876-2"
End Select
Next i
`
Debe haber algo mas simple como

socios.txtsnrut.text=listado.txtsnrut.text



Hola, Alberto:

Si "socios" es una referencia a una forma que ha sido declarada como Public
en un modulo, o como Shared en una clase que has importado, puedes
perfectamente bien escribir tu simple sentencia.

Dependiendo de la manera en que se activen, las formas pueden ser
independientes (activadas mediante un comando del usuario: un click en un
menu, por ejemplo) o subordinadas (abiertas por una forma de nivel superior
para realizar una funcion complementaria).

Cuando una forma X activa a una forma Y, la responsabilidad de obtener la
informacion contenida en Y es de X. Pretender que Y actualice a X es un
error conceptual llamado "Inversion de Dependencia", que lleva a soluciones
inestables y a codigo rebuscado.

La manera en la que X puede obtener la informacion de Y es a traves de una
funcion:

[en Y:]
Public Function GetCliente() As String
Me.ShowDialog()
Return txtCliente.Text
End Function

y desde X:

Dim fY As New FormY
CodigoCliente = Y.GetCliente()

o bien, Y "conoce" el tipo de las formas a las que va a servir, entonces
puedes, en el boton de confirmar la operacion (Aceptar, Ok, Seguir, etc),
llenar los controles de X:

En X:

Dim fY As New FormY
fY.LlenarControles(Me)

En Y:

Public Sub LlenarControles(Destino As FormY)
Me.ShowDialog()
With Destino
.txtNombreCliente.Text = Me.txtNombreCliente.Text
.txtCodigoCliente.Text = Me.txtCodigoCliente.TExt
...
End With
Dispose()
End Sub

En estos casos, es conveniente utilizar una Interfaz, que te permitira usar
la forma Y con diferentes tipos de formas, siempre que implementen la
interfaz declarada.

Finalmente, puedes utilizar eventos en la forma subordinada, para
notificarle a la forma principal que hay informacion disponible.

Salud!
Respuesta Responder a este mensaje
#3 Jesús López
06/04/2006 - 09:58 | Informe spam
Ese problema no tiene nada que ver con Microsoft. Es un problema típico de
"scope" que se presenta en la mayoría de los lenguajes de programación. Para
solucionarlo tienes que entender bien el concepto de "scope" y saber
manipularlo.

Saludos:

Jesús López
Respuesta Responder a este mensaje
#4 Jesús López
06/04/2006 - 10:06 | Informe spam
Leo,

Me ha encantado tu explicaciónYa podrías escribir un libro sobre
metodología de la programación.

Saludos:

Jesús López
Respuesta Responder a este mensaje
#5 Lluís Franco
06/04/2006 - 10:56 | Informe spam
:-)
Hola Jesús,
Pues la última notícia que tengo de mi primo Leo es que estaba en ello...

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://www.uyssoft.com
Blog: http://msmvps.com/lfranco
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profileaa1615-1a2f-4202-bc3f-aec297d967d2
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida