Cambio De Background En Segundo Formulario Bloquea El Formulario


Ir a la página 1, 2  Siguiente

Objetivo: 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.

Perfil MP  
Objetivo: 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.

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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

Objetivo: 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

Objetivo: 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
Objetivo: 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

Objetivo: 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

Perfil MP  
Objetivo: Re: Cambio De Background En Segundo Formulario Bloquea El Formulario
Codigo de ejemplo

Perfil MP  
Objetivo: Re: Cambio De Background En Segundo Formulario Bloquea El Formulario
A mí me funciona perfectamente tu ejemplo. No veo el problema.

Saludos

Perfil MP  
Ir a la página 1, 2  Siguiente

Página 1 de 2


  
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
No puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0837s (PHP: 15% SQL: 85%)
Consultas SQL: 21 - Debug off - GZIP Activado