locked
pasar valor de un form a otro form RRS feed

  • Pregunta

  • hola quisiera pasar un valor de un form de visual basic a otro form

    por ejemplo les explico tengo un form donde pideo usuario y contraseña a la hora de introdricir esos datos consulto la base de datos y si estan me pasa al menu entonces lo que quiero es qye me tome el valor.

    tengo un form llamado USUARIO con dos campos usuario.text y contraseña.text

    entonces valido estas dos cajas y quisre que el valor de la caja de usuario.text

    me la mande automaticamente a otro form que se llama MAIN no se si me di a explicar.

    tengo esto codigo pero no hace nada.

    Main.usuario.Text = UsernameTextBox.Text

    miércoles, 22 de diciembre de 2010 19:04

Respuestas

  • Tambien puedes pasarlo como parametro en el contructor. por ejemplo

    Dim frm1 as Main = New Main(usuario,clave)

    en el form Main tendrías que en el constructor hacer algo como esto 

    sub New(usuario as string, clave as string)

    gusuario=usuario

    gclave=clave

    end sub

     

    Ojalá la idea ayude, Saludos.


    Jackson Rosado Developer c#, VFP, PL/SQL DBA - Oracle 10g
    miércoles, 22 de diciembre de 2010 20:15

Todas las respuestas

  • ok, puedes hacer varias cosas:

    1. tener un variable global a nivelk de aplicacion, y en tu form de usuario le asignas el valor del usernametextbox.tex, luego en tu mainm llamas esa variable

    2. main.usuario.text = usernametextbox.text te deberia funcionar, a menos q en load del formulario este setenado la proiedad text de nuevo


    Julio Avellaneda
    MCP
    Blog !!

    miércoles, 22 de diciembre de 2010 19:15
  • holas

    segun veo entonces requieres comunciar el form hijo con su padre

     

      Comunicar formularios MDI

      Comunicar formularios de forma desacoplada

    veras que si el form MAIN implementa la interfaz podrias desde el hijo invocar el metodo pasandole la informacion al otro form

    tambien podrias atachar el evento FormClosing del form USUARIO

    http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/edad85b2-ef11-49c6-9a6a-958597e16854

    y al cierre del form tomar la info directamente

    todo esto desde Main

    Private Sub cmdAbrirUsuario_Click(sender As Object, e As EventArgs)

        Dim form As New frmUsuario()

        AddHandler form.FormClosing, AddressOf form_Closing
        form.Show()
       
    End Sub



    Private Sub form_Closing(...)
       
        Dim frm As frmUsuario = DirectCast(sender, frmUsuario)
        txtUsuario.Text = frm.Usuario.Text
        txtPassword.Text = frm.txtPassword.Text
       
    End Sub

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 22 de diciembre de 2010 19:21
  • es muy sencillo

    agregate a tu proyecto un modulo y le das un nombre cualquiera como por ejemplo principal.vb.

    luego dentro de este modulo declaras variables globales tantas como necesites asi:

    public usuario as string

     

    despues de esto en tu form usuario haces tu validacion y le asignas el valor de la caja de texto a la variable global asi:

    usuario = txtusuario.text

     

    listo cuando tu formulario te envie al otro y si quieres mostrar ese valor en la otra caja de texto entonces haces asi:

    txtusuario2.text = usuario

     

    y listo.

     

    walter jimenez

    comenta si te sirvio

    • Propuesto como respuesta LaMafia martes, 11 de enero de 2011 23:03
    miércoles, 22 de diciembre de 2010 19:22
  • Tambien puedes pasarlo como parametro en el contructor. por ejemplo

    Dim frm1 as Main = New Main(usuario,clave)

    en el form Main tendrías que en el constructor hacer algo como esto 

    sub New(usuario as string, clave as string)

    gusuario=usuario

    gclave=clave

    end sub

     

    Ojalá la idea ayude, Saludos.


    Jackson Rosado Developer c#, VFP, PL/SQL DBA - Oracle 10g
    miércoles, 22 de diciembre de 2010 20:15
  • Main.usuario.Text = UsernameTextBox.Text

    a que te refieres con validar?supongo que tienes algun boton que 'comprueba' que esten correctos ambos datos y si son correctos se abre el otro formulario., si lo envias con ese boton seria(dentro del boton):

    MAIN.show()'primero abres el formulario

    MAIN.copia.Text = usuario.Text ' usuario es el textbox en form usuario y copia es un textbox en Main

    Para que quieres enviar el valor de usuario.text al form2?

    si lo vas a cargar al inicio cuando se abre el segundo form,no se si te entendi bien, pero creo que lo estas haciendo al revés ,en Load de  MAIN tendrias que hacer:

    si lo vas a guardar en una variable: dim mivariable as string= USUARIO.usuario.Text
    si lo vas a guardar en otro textbox: mitextbox.Text=USUARIO.usuario.Text

    espero que te sirva.

    miércoles, 22 de diciembre de 2010 20:37
  • Hola, no sé si a alguien le funcionó tu solución, pero por mi parte aprendí algo nuevo con ella. Muchas gracias, excelente, fácil y sencillo.
    lunes, 22 de diciembre de 2014 15:31