Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar Parametro Entre 2 Winform

Estas en el tema de Pasar Parametro Entre 2 Winform en el foro de .NET en Foros del Web. Amigos me gustaria que me diesen una pauta, sucede que en uno de mis formularios hago uso de un codigo de cliente y de acuerdo ...
  #1 (permalink)  
Antiguo 11/09/2005, 09:37
Avatar de mabarcau  
Fecha de Ingreso: mayo-2005
Mensajes: 317
Antigüedad: 19 años, 6 meses
Puntos: 0
Exclamación Pasar Parametro Entre 2 Winform

Amigos me gustaria que me diesen una pauta, sucede que en uno de mis formularios hago uso de un codigo de cliente y de acuerdo a ese codigo, debo de cargarle un formulario con sus datos personales, como puedo hacer para usar ese codigo como parametro para cargar un segundo fom?




Desde ya los agradecimientos.....
  #2 (permalink)  
Antiguo 11/09/2005, 10:32
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
Hola mabarcau.. te comento tenés varias formas de hacerlo, será una cuestión personal elegir la que más te guste. La primera que utilizaba yo era definir variables publicas en un modulo, para poder usarlas en todos los formularios que necesites. La segunda, que me dijeron en este foro, es pasarle la variable como parametro cuando creas el formulario secundario, algo así:

En el FORM PRIMARIO:

Dim VariableAPasar As Integer = 20

'código que salte ante algún evento

Dim frmSecundario As New frmSecundario(VariableAPasar)
frmSecundario.Show()

En el FORM SECUNDARIO:

Dim VariableTomada As Integer

Public Sub New(ByVal VARIABLEPARAMETRO As Integer)
MyBase.New()

VariableTomada = VARIABLEPARAMETRO
End Sub


Con eso ya te quedo en la variable "VariableTomada", el valor que tenía en el form principal.

Otra opción que estoy usando yo ahora para hacer algo más organizado, es definir propiedades publicas en un modulo, y así cuando necesito darle un valor a esa propiedad se lo asigno, y cuando necesito sacar su valor se lo saco. Es una variante de la primer forma.

Otra forma que todavía no encuentro porque no me queda muy claro el asunto, es definir propiedades compartidas en los formularios de donde vas a sacar las variables, de esta forma no tenés que instanciar el formulario para poder usarlas (según me dijeron), pero no logro hacer que me funcione. Así es que, si alguien sabe algo más de esto, me gustaría mucho que me dijesen un comentario al respecto.
Un saludo a todos, y espero que te haya servido de algo.
Suerte!.
__________________
Add, never Remove
  #3 (permalink)  
Antiguo 16/09/2005, 16:00
Avatar de gualicho  
Fecha de Ingreso: enero-2005
Ubicación: Capital Federal - Argentina
Mensajes: 55
Antigüedad: 19 años, 10 meses
Puntos: 0
Yo creo, mariano, que la forma más organizada, es la primera, o sea la que usabas antes, recibir la variable en el constructor de la clase del segundo formulario y asignarla a una local, y luego sacarla con una propiedad de dicho form si se necesitara. Todo eso respeta más la teoría de objetos, en cuanto al encapsulamiento. Lo de propiedades públicas me hace acordar a los módulos de VB 6, que horrible.
PD: Aguante Vélez jeje ;)
__________________

ASUS A7N8X-E Deluxe
AMD Semprom 2200 + (1.5 ghz) FSB 333
2 x 512 mb Kingston ddr 400 en dual channel
ATI Radeon 9250 (128 mb / 64 bits)
HD SAMSUNG SATA 120 gb
HD HITACHI IDE 80 gb

SO: Win XP, Debian Sarge
  #4 (permalink)  
Antiguo 16/09/2005, 17:09
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
Tenés razón con respecto lo del módulo y la teoría de objetos, lo que no comparto es tu PD y tu foto! (joda).
Saludos!.
__________________
Add, never Remove
  #5 (permalink)  
Antiguo 22/09/2005, 09:12
Avatar de mabarcau  
Fecha de Ingreso: mayo-2005
Mensajes: 317
Antigüedad: 19 años, 6 meses
Puntos: 0
Gracias a su ayuda lo solucione, gracias amigos, use la primera de las formas...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:57.