Control apertura pestañas


([N1] Giuseppe::Komenco) #1

Un cliente me ha pedido que evite que cada vez que se abre un módulo desde la Toolbar, se abra la pestaña sin tener control sobre si alguna existente ya se encuentra abierta.

Sé que una de las soluciones pasa por poner la aplicación en modo SDI, pero internamente, ésto, provoca que igualmente, vClient abra varias veces el mismo módulo, lo que me preocupa una vez la aplicación esté abierta mucho rato, con mil pestañas en el backend

Como solucináis este tema? He pensado en tener un formulario a modo de dock, con una variable local por cada modulo. cada botón, llama a un evento que comprueba si la variable del módulo está a True, para abrir de nuevo o no, pero lo que no se me ocurre, es como ponerla a false, ya que no tenemos un evento de cuando se cierra un form. he pensado en disparar una señal con un timer, y desde el dock, capturarla (que no sé si eso se podrá hacer), a modo de "ping", y en el dock, tener otro timer, que cambie la variable local si no recibe el ping, pero es un poco enreversado, y antes de ponerme al lío, quería preguntar si alguien ya tenía algo así montado.


([N4] Atanasio) #2

Hola, si habías pensado poner la aplicación en modo SDI puedes utilizar el comando en stock "Ventana:cerrar todas" antes de abrir cada ventana, de esta forma cerrará todas antes de abrir otra.
Yo no encontrado la forma de evitar que me abra una pestaña que ya está abierta, pero lo que no haría es complicarme la vida como parece que estás dispuesto a complicartela.
Lo que sí coloco en todas las ventanas es un botón para cerrar con [Esc] como tecla aceleradora. De esta forma el usuario sólo tiene que mantener pulsada la tecla Esc y se van cerrando todas las pestañas.

Un saludo.


([N1] Giuseppe::Komenco) #3

El problema es que precisamente, las pestañas, por un lado, es una ventaja, pero el cliente a veces, no se dá cuenta que ya tiene una abierta, y abre otra, y luego, acceden a la que tenían anteriormente abierta (que no está actualiada)..no sé si me explico.
.
Estudiaré lo que comentas, un saludo.
.
Un saludo.


([N1] tcvsi) #4

Yo utilizo el mismo sistema que Atanasio.
Entiendo tu problema, pero creo que la solución que quieres abordar, es compleja y te complica la programacion.

Lamento no poder ayudarte. Solo decirte que los usuarios pronto se acostumbran a ir cerrando pestañas.