Discussion:
Llamar a formulario con parametros
(demasiado antiguo para responder)
Erax
hace 18 años
Permalink
Hola quisiera saber como puedo llamar a un formulario pasandole un string
como parametro.Tengo lo siguiente:Un formulario de inicio en el que valido un
usuario y contraseña,cuando es válido pulso aceptar y se abre el formulario
de la aplicacion.A ese formulario quiero pasarle un string para pòder
utilizarlo en la clase.Para llamar al formulario utilizo lo siguiente:

Me.AddOwnedForm(Maraton) 'Maraton es el fromulario a mostrar.
Maraton.Show() 'Hago la llamada.

El valor que recojo en este formulario quiero pasarlo al formulario Maraton
para trabajar con el.
Alberto Poblacion
hace 18 años
Permalink
Post by Erax
Hola quisiera saber como puedo llamar a un formulario pasandole un string
como parametro.Tengo lo siguiente:Un formulario de inicio en el que valido un
usuario y contraseña,cuando es válido pulso aceptar y se abre el formulario
de la aplicacion.A ese formulario quiero pasarle un string para pòder
Me.AddOwnedForm(Maraton) 'Maraton es el fromulario a mostrar.
Maraton.Show() 'Hago la llamada.
El valor que recojo en este formulario quiero pasarlo al formulario Maraton
para trabajar con el.
Puedes crear un constructor en el formulario para que reciba el
parámetro:

Public Sub New (dato As String)
... 'Guardar dato
End Sub

La lamada la haces entonces pasándole ese dato:

Private TipoDeFormulario Maraton = new TipoDeFormulario(argumento)
Me.AddOwnedForm(Maraton)
Maraton.Show() 'Hago la llamada.
Erax
hace 18 años
Permalink
En la clase valdacion tengo esto:
tipo = dr(3)

Dim inicio As Maraton= New Maraton(tipo)
Me.AddOwnedForm(Maraton)
Maraton.Show(tipo)

Pero tanto en la istancia como en la llamada me da error.
En la istancia me da el siguiente error:Maraton es un tipo y no se puede
usar como expresion.

En la llamada me subraya toda la linea y me da el siguiente:La referencia a
un miembro no compartido requiere una referencia de objeto.

Y en el metodo constructor,en el new me dice:En el tipo generado por el
diseñador'ProyectoFinal1.Maraton' debe llamar al metodo 'InitializeComponent'.
El metodo constructor es el siguiente:
Public Sub New(ByVal dato As String)

tipo_usuario = dato
MsgBox(tipo_usuario)

End Sub

Haber que puede pasar

Por si te sirve de algo la clase se llama igual que el formulario
...
Alberto Poblacion
hace 18 años
Permalink
Post by Erax
tipo = dr(3)
Dim inicio As Maraton= New Maraton(tipo)
Me.AddOwnedForm(Maraton)
Maraton.Show(tipo)
Pero tanto en la istancia como en la llamada me da error.
En la istancia me da el siguiente error:Maraton es un tipo y no se puede
usar como expresion.
Fíjate que en dos de las lineas has usado el nombre de la clase en lugar de
la instancia de la clase:

Dim inicio As Maraton= New Maraton(tipo)
Me.AddOwnedForm(inicio)
inicio.Show()
Post by Erax
Y en el metodo constructor,en el new me dice:En el tipo generado por el
diseñador'ProyectoFinal1.Maraton' debe llamar al metodo
'InitializeComponent'.
Public Sub New(ByVal dato As String)
tipo_usuario = dato
MsgBox(tipo_usuario)
End Sub
Tienes que meter una llamada a InitializeComponent, igual que la que hay
en el Sub New original sin parámetros que autogenera el diseñador:

Public Sub New(ByVal dato As String)
tipo_usuario = dato
InitializeComponent()
End Sub

Eduardo Antonio
hace 18 años
Permalink
mira yo lo hago de la siguiente forma, no se, si es la mas correcta pero me
funciona:
en el form maraton declara una variable publica
Public cadena As String = ""

ya para pasarle el parametro

dim frm as new maraton
frm.cadena="cadena de x"
frm.show()
Post by Erax
Hola quisiera saber como puedo llamar a un formulario pasandole un string
como parametro.Tengo lo siguiente:Un formulario de inicio en el que valido un
usuario y contraseña,cuando es válido pulso aceptar y se abre el formulario
de la aplicacion.A ese formulario quiero pasarle un string para pòder
Me.AddOwnedForm(Maraton) 'Maraton es el fromulario a mostrar.
Maraton.Show() 'Hago la llamada.
El valor que recojo en este formulario quiero pasarlo al formulario Maraton
para trabajar con el.
Continúe leyendo en narkive:
Loading...