Apúntate...


Consultas, desarrollo de programas y petición de presupuestos:

jueves, 27 de febrero de 2014

Pasar información de un formulario a otro

Pasar información de un formulario a otro


Es esta entrada os enseñaré a como se puede pasar datos de un formulario a otro. Existen varios métodos, pero os voy a explicar el que me parece más simple.


Imaginamos que tenemos dos formularios (Fmain FormPregunta)

El formulario FormPregunta, es el encargado de recibir un dato (un texto por ejemplo) por parte del usuario y lo va a enviar al formulario Fmain

En el formulario Fmain, es el encargado de mostrar el FormPregunta, y mostrar el dato recibido de este formulario.

Este es el formulario Fmain:

Este es el código del formulario Fmain:

' Gambas class file

Public Sub _new()
End

Public Sub Form_Open()
End

Public Sub recibirmensaje(texto As String)
TextLabelMostrarDato.text = texto
End

Public Sub ButtonAbrirFormulario_Click()
FormPregunta.Show()
End

Fijaos que tenemos la funcion"recibirmensaje(texto as string)" que accesible desde todos los formularios, modulos y clases porque es una función publica (Public), y que acepta como parametro un texto.
Public Sub recibirmensaje(texto As String)

Este parametro que recibe, lo va a asignar al textlabelMostrarDato.
TextLabelMostrarDato.text = texto

Bien, ahora pasamos al Formulario que tiene un textbox llamado "TextboxMensaje" y un botón llamado "ButtonCerrar".


Este es su código:

Public Sub Form_Open()
End

Public Sub ButtonCerrar_Click()
FMain.recibirmensaje(TextBoxMensaje.text)
Me.Close()
End

Cuando hacemos click en el botón, se ejecuta el código contenido en
Public Sub ButtonCerrar_Click()


Fijaos que es llamado el método "recibirmensaje" del formulario Fmain:
FMain.recibirmensaje(TextBoxMensaje.text)

De esta manera, hemos pasado la información al formulario Fmain.

Código fuente del ejemplo: Codigo fuente en Box.com

5 comentarios:

  1. como se puede hacer esto con Fmain en fullsceen

    ResponderEliminar
  2. ¿Como se podría mostrar el resultado de una suma entre dos números dentro de un textbox de un segundo formulario en Gambas? Es decir, pasar un valor numerico a otro formulario? Por ejemplo; tengo un Form1. En ese Form1 tengo 3 textbox y 2 botones. Ingreso un numero en cada uno de los primeros dos textbox y el resultado aparece en el tercer textbox. Siempre en el mismo formulario.
    Uno de los botones realiza la suma y el otro boton abre un segundo formulario que contiene un textbox donde se mostrara la suma que aparecia en el tercer texbox del Form1.
    He tratado de hacerlo, siguiendo ejemplos realizados en VB6, pero no resulta.
    Ojala pudiera orientarme.
    Agradecido de antemano.

    ResponderEliminar
    Respuestas
    1. Una forma de hacerlo seria a traves de poner los Elementos de los formularios PUBLICOS (aunque no es aconsejable).

      Eliminar
    2. Con esta explicacion me salio muy bien, pero tengo la siguiente duda: yo estoy usando este metodo:

      Dim f As FInputBox
      f = New FInputBox("Escribir entrada", "Escriba la linea que desea añadir:", CStr(Now) & " -> ")

      Al ejecutar eso, me sale que "no coinciden los tipos, se esperaba control y se obtuvo string", esto porque el ejercicio que estoy realizando es de la version 2.21 y no aplica ya en la version 3x? o estoy haciendo yo un paso mal? saludos y gracias. Excelente blog!

      Eliminar

A falta de donativos... un poco de publicidad