Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ocultar Un Formulario
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ocultar Un Formulario 
 
Buenos días!.

Estaba creando un ejemplo en el cual, desde un formulario principal se le pasa un dato a otro formulario.
Este formulario que recibe el dato se va a almacenar en un array. Voy creando varias instancias del mismo.
Tengo una listbox desde la que  selecciono el formulario que quiero abrir.

Uno de los problemas que me encontré fue. Cerraba el formulario una vez se le pasaba el dato para
mostrarse en este. El array de formularios almacenaba un objeto nulo y luego no se mostraba.
Al final tuve que ocultarlo en vez de cerrarlo. ( Deja de existir ).  

FMain
Private formularios As New Form[]

Private numform As Integer

Public Sub Form_Open()
  
End

Public Sub btnOpenForm_Click()
  
  Dim unformulario As FormUsuario
  
  If Not IsNull(TextBox1.Text) Then
    unformulario = New FormUsuario  
    unformulario.nombre = TextBox1.Text
    formularios.Add(unformulario)
    unformulario.Show()    
    
    numform += 1
    
    ListBox1.Add("Formulario " & Str(numform))
  Else
    Message.Error("Has olvidado entrar un nombre")
  Endif
  
End

Public Sub ListBox1_Click()

  Dim unformulario As FormUsuario
  
  unformulario = formularios[ListBox1.Index]
  unformulario.Show()
  
End
 


FormUsuario
Private hnombre As String
Property nombre As String


Public Sub Form_Open()

  Label1.Text = Me.nombre

End

Private Function nombre_Read() As String

Return hnombre  

End

Private Sub nombre_Write(Value As String)

  hnombre = Value

End

Public Sub btnCerrar_Click()
  'El formulario debe ser ocultado, no cerrado.
  'Si se cierra deja de existir y el array de formularios contendrá un objeto nulo
  Me.Hide
  'Me.Close

End
 


¿ En que situaciones soléis ocultar el formulario ?. (¿ En que lo habéis aplicado normalmente ?).
Desde luego un formulario que tenga mucha información.
O a lo mejor no soléis usar esto y preferís crear el formulario y pasarle los datos concretos.

Almacenar formularios me parece un poco raro.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Martes, 19 Diciembre 2017, 10:16; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ocultar Un Formulario 
 
No se puede "almacenar formularios", los creas y lo que almacenas es su referencia en memoria. Si los cierras, desaparecen y la referencia, que sigue almacenada es null.

Muy rara vez oculto un formulario. Es algo peligroso en sí mismo. ¿Por qué? porque un formulario lo que muestra normalmente, es información proveniente de una base de datos o de fichero de configuración o, simplemente creada por el usuario en el momento.
Dicha información o se ha modificado o no. Si no se ha modificado, el formulario oculto no tiene sentido porque no aporta nada a lo que ya figura en la BD y además ocupa memoria (poca, pero la ocupa). Si ya se ha modificado y aún no se ha grabado, el ocultarlo hace que el usuario pierda de vista y, por tanto, pierda el control, del estado de los datos durante el tiempo que está oculto. Lo que genera errores y demás.
Si no refleja información que ya reside en algún sitio no tiene sentido ocultarlo, mejor crearlo cuando se necesite.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ocultar Un Formulario 
 
Shordi:

Puede que según el tipo de aplicación que se haga requiera un formulario oculto.  
Pero no se me ocurre que tipo.

En un viejo ejemplo con gambas 2, se pasaba una imagen de un formulario a otro
y ocultaba uno de los formularios. Claro que eso es muy probable que el modo de hacerlo
este obsoleto y se pueda hacer de otra forma.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ocultar Un Formulario 
 
shordi escribió: [Ver mensaje]
No se puede "almacenar formularios", los creas y lo que almacenas es su referencia en memoria. Si los cierras, desaparecen y la referencia, que sigue almacenada es null.

Muy rara vez oculto un formulario. Es algo peligroso en sí mismo. ¿Por qué? porque un formulario lo que muestra normalmente, es información proveniente de una base de datos o de fichero de configuración o, simplemente creada por el usuario en el momento.
Dicha información o se ha modificado o no. Si no se ha modificado, el formulario oculto no tiene sentido porque no aporta nada a lo que ya figura en la BD y además ocupa memoria (poca, pero la ocupa). Si ya se ha modificado y aún no se ha grabado, el ocultarlo hace que el usuario pierda de vista y, por tanto, pierda el control, del estado de los datos durante el tiempo que está oculto. Lo que genera errores y demás.
Si no refleja información que ya reside en algún sitio no tiene sentido ocultarlo, mejor crearlo cuando se necesite.


Clarisimo
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ocultar Un Formulario 
 
Citar:
Puede que según el tipo de aplicación que se haga requiera un formulario oculto.

Yo sólo lo he visto necesario en las aplicaciones que usan trayicon. En ellas declaras como fMain un formulario oculto que contiene el trayicon y los demás elementos que necesites (un timer por ejemplo). Ese formulario no se debe ver en ningún momento (bueno si se quiere puedes mostrarlo durante unos segundos para que se vea el logo del programa o algo así) y sólo verse el tryicon

Fuera de eso no se me ocurren muchas situaciones que lo requieran...

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Ocultar Una Columna De Un Tableview joseagch Controles/Librerías/Componentes 2 Miercoles, 09 Noviembre 2011, 21:16 Ver último mensaje
joseagch
No hay nuevos mensajes Ocultar/mostrar Textbox Según Se Elija En... alberto_moyano Controles/Librerías/Componentes 5 Sabado, 11 Junio 2016, 18:30 Ver último mensaje
tincho
No hay nuevos mensajes Ocultar Columna GridView calcena General 11 Lunes, 23 Octobre 2017, 11:41 Ver último mensaje
calcena
No hay nuevos mensajes Ocultar Columna En Gridview Y Autonumerado... calcena General 4 Martes, 15 Octobre 2019, 15:31 Ver último mensaje
gambafeliz
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron