Autor
|
Tema: Fomulario Modal (Leído 3,968 veces)
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
Hola como puedo devolver un valor al cerrar una ventana modal 'Formulario Principal Dim UsuarioLegitimo As Boolean Dim F As New FormComprobarUsuario
UsuarioLegitimo = F.Show VbModal
Cuando llego esta parte del codigo se carga un nuevo FormConprobarUsuario, que por cierto tiene dos TextBox (Usuario y contraseña), y dos Botones (aceptar y cancelar)... el obejetivo es que si, despues de validar, el usuario es correcto devuelva True y sino False. Alguna idea, he intentado muchas maneras pero no me salen resultados..
|
|
|
En línea
|
|
|
|
Kasi
Desconectado
Mensajes: 76
|
Prueba a intentar plantearlo al reves, es decir, desde el "padre" abres un nuevo form (que podria denominarse como un hijo) o algo asi. Ahora plantea el problema al reves, en vez de intentar obtener X resultado desde el padre al cerrar el hijo, hazlo al contrario.
Cuando se cierre el hijo, obtienes la referencia hasta el padre y le dejas el resultado donde tu quieras, y luego ya sigues con el script con normalidad.
No se si me explico bien.
Un saludo
|
|
|
En línea
|
|
|
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
He intentado eso. Pero son varias ventanas secundarias que llaman cada uno a un FormComprobarUsuario es decir...
Cada ventanaSecuntaria esta creado con New FormSecundario y cada una de estas llama a un New FormComprobarUsuario
Si lo hago al revés como dices.. como sabre que FormSecundario és el que le llamó??
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
Estudiaré el código. les aviso, luego.
|
|
|
En línea
|
|
|
|
|
Tokes
Desconectado
Mensajes: 140
|
No sé si entendí bien. A ver:
Si se crea un formulario en forma modal no se puede hacer nada más con los otros formularios, puesto que el formulario en forma modal toma el control total. Entonces, no puede haber varios formularios modales a la vez ¿O sí?
En el caso de que solo pueda haber un formulario modal a la vez ¿Porqué no pones una variable pública en un módulo BAS? Esa variable será tipo boolean y sólo podrá ser modificada por un formulario modal a la vez.
Si me equivovo, mil disculpas. Saludos.
|
|
|
En línea
|
|
|
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
BlackZeroX , muchas gracias. aunque no es tan simple como un InputBox, pero funciona y es lo que importa. aquí mostraré el código para los que andaban en lo mismo. cambié algunas cocitas pues ya depende para la finalidad del uso. En el FormularioPrincipal Private WithEvents FrmLogin As frmUser Dim Loggeado As Boolean
Private Sub cmdAutenticar_Click() Set FrmLogin = New frmUser With FrmLogin .Show vbModal End With Set FrmLogin = Nothing If Loggeado = True Then '// codigo una ves loggeado // Me.BackColor = vbGreen Else Me.BackColor = vbRed End If End Sub
Private Sub FrmLogin_Resultado(e As Boolean) If e = True Then Loggeado = True Else Loggeado = False End If End Sub En el formulario: Login Public Event Resultado(ByRef e As Boolean) Dim Loggeado As Boolean
Private Sub cmdComprobar_Click() With Me If .txtUser = .txtPassword Then Loggeado = True Unload Me Else MsgBox "Incorrecto. Inténtelo nuevaente", vbExclamation End If End With End Sub
Private Sub Form_Load() Loggeado = False End Sub
Private Sub Form_Unload(Cancel As Integer) If Loggeado = True Then RaiseEvent Resultado(True) Else RaiseEvent Resultado(False) End If End Sub Gracias...
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
correciones Logicas!¡. Private Sub Form_Load() Loggeado = False End Sub
se obvia ya que cualquier Boolean siempre al inicio es False!¡. Aqui otras!¡. Private Sub FrmLogin_Resultado(e As Boolean) If e = True Then Loggeado = True Else Loggeado = False End If End Sub
por Private Sub FrmLogin_Resultado(e As Boolean) Loggeado = e End Sub
y Private Sub Form_Unload(Cancel As Integer) If Loggeado = True Then RaiseEvent Resultado(True) Else RaiseEvent Resultado(False) End If End Sub
por Private Sub Form_Unload(Cancel As Integer) RaiseEvent Resultado(Loggeado ) End Sub
Ducles Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
goldarg
Desconectado
Mensajes: 13
|
Te traigo una solucion simple: Crea un Modulo1 y declara En el form FormComprobarUsuario Private Sub cmdValidar_Click() If txtusuario.text="TuUsuario" and txtpass.text="Tupass" Then logueo = 1 Else logueo = 2 End If Unload Me End Sub
Private Sub Form_Load() logueo= -1 End Sub Y en el boton que llames al FormComprobarUsuario pones dim f as form set f=new FormComprobarUsuario f.show 1 Select Case logueo case -1 msgbox "Cancelado" case 1 msgbox "Logueado" case 2 msgbox "No Logueado" End Select Me funcionó bien, pero no se si eso es lo que buscabas
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Hacer un jinternal frame modal
Java
|
Jepe auquilla
|
2
|
4,259
|
25 Marzo 2011, 18:45 pm
por sapito169
|
|
|
Fomulario encuesta que no continue si contesta la primera pregunta.
Desarrollo Web
|
jprex03
|
1
|
1,889
|
2 Abril 2012, 01:20 am
por #!drvy
|
|
|
controlar formulario web modal con webbrowser
Programación Visual Basic
|
serjefazo
|
4
|
4,172
|
16 Septiembre 2014, 17:56 pm
por Piratex
|
|
|
Problema con ventana modal
Desarrollo Web
|
Grave
|
2
|
3,688
|
21 Mayo 2014, 18:46 pm
por Grave
|
|
|
Incluir carousel modal, como lo hago?
Desarrollo Web
|
Pitufete
|
3
|
4,110
|
11 Octubre 2014, 10:00 am
por Pitufete
|
|