Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Cambio De Background En Segundo Formulario Bloquea El Formulario

Cambio De Background En Segundo Formulario Bloquea El Formulario
Artículo
Responder citando    Descargar mensaje  
Mensaje Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
Hola estimados,

estoy desarrollando un programa que despliega varios formularios en el que personalice el color de fondo del formulario y un distinto color para un panel que contiene los objetos, pero cuando abro una segunda ventana con ShowModal() quedan todos los controles bloqueados. hice varias pruebas con formularios en blanco para no perder lo que llevo construido. Mis conclusiones son:

1.- Si cambio las propiedades background en tiempo de ejecucion de los formularios en segundo bloquea.
2.- Si pongo los background en tiempo de diseño no se bloquea el formulario
3.- Esto se repite en los niveles pares de apertura de formularios. principal -> hijo 1(bloquea) -> hijo2 de "hijo1" (no se bloquea) -> hijo3 de "hijo2" se bloquea.

ni idea de que puede ser.
alguna ayuda compañeros.


nota: por ahora olvidare el manejo de los fondos ya que el manejo de temas no es primordial para la app.



 
chaskux - Ver perfil del usuario Enviar mensaje privado  
chaskux [ Lunes, 25 Marzo 2019, 20:44 ]
 


Cambio De Background En Segundo Formulario Bloquea El Formulario
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
chaskux escribió:  
...formularios. principal -> hijo 1(bloquea) -> hijo2 de "hijo1" (no se bloquea) -> hijo3 de "hijo2" se bloquea...

   suena a bugo me parece.

Saludos.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Lunes, 25 Marzo 2019, 21:08 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
tincho escribió:  
chaskux escribió:  
...formularios. principal -> hijo 1(bloquea) -> hijo2 de "hijo1" (no se bloquea) -> hijo3 de "hijo2" se bloquea...

   suena a bugo me parece.

Saludos.


hice otra prueba.. cree un proyecto nuevo donde cree 4 form
-fmain
-form1
-form2
-form3

a todos les puse un combobox relleno en propiedad list con 3 elemento (para ver si se despliega al click)
a todos les puse un boton

en los codigo puse

Public Sub Button1_Click()

  Dim oForm As New Formx

  Formx.ShowModal()

End

Public Sub Form_Open()

  Me.Background = Color.Magenta

End

---
 en este ejercicio el form2 queda bloqueado    



 
chaskux - Ver perfil del usuario Enviar mensaje privado  
chaskux [ Lunes, 25 Marzo 2019, 21:43 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
Buenas!.

A mi desde uno de los formularios no me deja cambiar el fondo del otro.
Estoy usando la gambas versión desarrollo.

Intentar cambiar el fondo del formulario 2 desde el botón del formulario 1
En cambio al revés funciona.  

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Martes, 26 Marzo 2019, 09:10 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
Vale, hice que funcionara.  En mi caso el problema es este:

Del código del formulario 1, se debe cambiar el evento Click de:

Public Sub Button1_Click()
  
  Form2.Background = Color.Green
  
End
 


A

Public Sub Button1_Click()
  
  unformulario.Background = Color.Green
  
End
 


¿ Y cómo es que no funciona la primera forma ?.  
¿ No se llama Form2 ?

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Martes, 26 Marzo 2019, 09:41 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
Y si no creo una instancia del formulario 2, puedo hacerlo también de esta forma:

Formulario1:
Public Sub Form_Open()
  
  With Me
    .Title = "Formulario1"
    .X = Desktop.w / 2
    .y = Desktop.h / 2.5
  End With
  
  Form2.Show()  
  
End

Public Sub Button1_Click()
  
  Form2.Background = Color.Green
  
End
 


Formulario2:
Public Sub Form_Open()
  
  With Me
    .Title = "Formulario 2"
    .X = Desktop.W / 6
    .Y = Desktop.H / 2.5  
  End With
  
End

Public Sub Button1_Click()
  
  Form1.Background = Color.Blue
  
End
 


Así que cuando se crea una instancia no parece que se pueda  hacer igual.

Saludos



 
última edición por Shell el Martes, 26 Marzo 2019, 09:51; editado 1 vez 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Martes, 26 Marzo 2019, 09:49 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
Mas pruebas con cambiar colores a formularios.  

Desde el primer formulario podéis cambiar el color de las instancias del formulario.
Desde las instancias podéis cambiar los colores a otros de la misma instancia.

Vuelvo a Matrix.

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Martes, 26 Marzo 2019, 10:49 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
Shell escribió:  
Mas pruebas con cambiar colores a formularios.  

Desde el primer formulario podéis cambiar el color de las instancias del formulario.
Desde las instancias podéis cambiar los colores a otros de la misma instancia.

Vuelvo a Matrix.

Saludos



Shell, en el ejemplo que mencionas lo que yo hago para poder tomar control de otro formulario es crear instancias así accedes a las propiedades de los formulario, sobre todo por que los despliego con showmodal por lo que el formulario que lanza la ventana queda bloqueado atrás. Con esto se cuando se cierra y que valor devuelve para ejecutar acciones.

por ejemplo puedes hacer esto

dim oform2 as form2

oform2.propiedad1 = "001"
if oform2.showmodal() = 1 then
   print "acepto"
else
   print "cancelo"
endif

-----

Esto se aleja de mi problemática, Donde si cambia el color del background, pero deja bloqueado el formulario para los eventos del mouse, sin embargo funciona moverse por los objetos con el TAB y el boton definido como close tambien funciona.

Como dato extra, esto me sucede en manjaro y antergos

[System]
gambas=3.12.2
OperatingSystem=Linux
Kernel=4.19.30-1-MANJARO
Architecture=x86_64
Distribution=Manjaro Linux
Desktop=KDE5
Theme=Breeze
Language=es_CL.UTF-8
Memory=7851M



 
chaskux - Ver perfil del usuario Enviar mensaje privado  
chaskux [ Martes, 26 Marzo 2019, 14:38 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
Codigo de ejemplo



 
chaskux - Ver perfil del usuario Enviar mensaje privado  
chaskux [ Martes, 26 Marzo 2019, 14:45 ]
Responder citando    Descargar mensaje  
Mensaje Re: Cambio De Background En Segundo Formulario Bloquea El Formulario 
 
A mí me funciona perfectamente tu ejemplo. No veo el problema.

Saludos



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Martes, 26 Marzo 2019, 16:42 ]
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente
 

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