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 y 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)
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
como se puede hacer esto con Fmain en fullsceen
ResponderEliminarSe hace igual.
Eliminar¿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.
ResponderEliminarUno 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.
Una forma de hacerlo seria a traves de poner los Elementos de los formularios PUBLICOS (aunque no es aconsejable).
EliminarCon esta explicacion me salio muy bien, pero tengo la siguiente duda: yo estoy usando este metodo:
EliminarDim 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!