Diseño de interface

18/01/2008 - 11:07 por alberto | Informe spam
En una aplicación tengo varios tipos de pantallas (mantenimientos, grids,
etc) pero no quiero mostrarlos en ventanas independientes. Me gustaría que
se mostrasen en el formulario principal.

Mi duda es acerca de cómo hacer la codificación. Pensé en situar los
controles de cada opción en paneles independientes y hacerlos visibles
cuando el usuairo quiera. Otra opción sería utilizar un tabControl y
codificar cada pantalla en una pestaña.

¿Se os ocurre alguna otra opción o mejora sobre las anteriores? Gracias

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno
18/01/2008 - 11:41 | Informe spam
Más opciones:

- Para los paneles, puedes usar el componente SplitContainer que es un
contenedor de paneles en el que puedes separar secciones (por ejemplo, ún
árbol en el panel izquierdo y los datos del elemento seleccionado en el
derecho)
- Usar controles de usuario

Yo me he planteado eso al principio de un nuevo proyecto y he optado por una
solución intermedia. Forms, paneles y controles de usuario. Los forms
contenidos en un mdi.

Saludos

"alberto" escribió en el mensaje
news:
En una aplicación tengo varios tipos de pantallas (mantenimientos, grids,
etc) pero no quiero mostrarlos en ventanas independientes. Me gustaría que
se mostrasen en el formulario principal.

Mi duda es acerca de cómo hacer la codificación. Pensé en situar los
controles de cada opción en paneles independientes y hacerlos visibles
cuando el usuairo quiera. Otra opción sería utilizar un tabControl y
codificar cada pantalla en una pestaña.

¿Se os ocurre alguna otra opción o mejora sobre las anteriores? Gracias

Respuesta Responder a este mensaje
#2 RFOG
18/01/2008 - 11:53 | Informe spam
alberto explained on 18/01/2008 :
En una aplicación tengo varios tipos de pantallas (mantenimientos, grids,
etc) pero no quiero mostrarlos en ventanas independientes. Me gustaría que se
mostrasen en el formulario principal.

Mi duda es acerca de cómo hacer la codificación. Pensé en situar los
controles de cada opción en paneles independientes y hacerlos visibles cuando
el usuairo quiera. Otra opción sería utilizar un tabControl y codificar cada
pantalla en una pestaña.

¿Se os ocurre alguna otra opción o mejora sobre las anteriores? Gracias



Una opción algo menos "políticamente correcta" sería tener una ficha
para cada pantalla, pero sin marco ni nada (FormBorderSytle puesto a
None, y quizás MDI hijas). Y una principal vacía debajo de todo.
Conforme a la acción del usuario vas mostando la adecuada.

La ventaja de esto es que como empieces a llenar de controles una sola
ficha el IDE se va a arrastrar de velocidad, aparte de que corres el
riesgo de que si el diseñador visual falla (y te aseguro que con más de
20 ó 30 controles en una ficha fallará tarde o temprano), tendrás que
volver a empezar todo desde cero.

Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación

El imitar es connatural al hombre.
Respuesta Responder a este mensaje
#3 Alfredo Novoa
18/01/2008 - 18:24 | Informe spam
Hola Alberto,

On Fri, 18 Jan 2008 11:07:07 +0100, "alberto"
wrote:

En una aplicación tengo varios tipos de pantallas (mantenimientos, grids,
etc) pero no quiero mostrarlos en ventanas independientes. Me gustaría que
se mostrasen en el formulario principal.

Mi duda es acerca de cómo hacer la codificación. Pensé en situar los
controles de cada opción en paneles independientes y hacerlos visibles
cuando el usuairo quiera. Otra opción sería utilizar un tabControl y
codificar cada pantalla en una pestaña.

¿Se os ocurre alguna otra opción o mejora sobre las anteriores? Gracias



Yo crearía UserControls como si fuesen formularios, y luego los puedes
añadir y quitar del formulario principal cuando quieras.

También los podrías poner en las pestañas del tabControl, evitando los
riesgos de los que te hablaba RFOG.


Saludos
Alfredo
Respuesta Responder a este mensaje
#4 Alberto
19/01/2008 - 17:08 | Informe spam
Estoy probando lo que me comentas pero tengo varios problemas.

El primero (y más tonto) es que no logro situar el formulario nuevo (el que
no tiene borde) en la zona que quiero. Situé un panel en el centro del
formulario principal sobre el que iré situando el resto de los formularios
pero aunque iguale las propiedades Location no aparecen en el mismo sitio.

Otro problema es que cuando el usuario interactúa con la ficha principal,
las otras fichas pasan a segundo plano. Además, si la ficha principal se
mueve, también hay que mover las fichas secundarias.

¿No sería mejor trabajar con controles de usuario?
Muchas gracias
"RFOG" escribió en el mensaje
news:
alberto explained on 18/01/2008 :
En una aplicación tengo varios tipos de pantallas (mantenimientos, grids,
etc) pero no quiero mostrarlos en ventanas independientes. Me gustaría
que se mostrasen en el formulario principal.

Mi duda es acerca de cómo hacer la codificación. Pensé en situar los
controles de cada opción en paneles independientes y hacerlos visibles
cuando el usuairo quiera. Otra opción sería utilizar un tabControl y
codificar cada pantalla en una pestaña.

¿Se os ocurre alguna otra opción o mejora sobre las anteriores? Gracias



Una opción algo menos "políticamente correcta" sería tener una ficha para
cada pantalla, pero sin marco ni nada (FormBorderSytle puesto a None, y
quizás MDI hijas). Y una principal vacía debajo de todo. Conforme a la
acción del usuario vas mostando la adecuada.

La ventaja de esto es que como empieces a llenar de controles una sola
ficha el IDE se va a arrastrar de velocidad, aparte de que corres el
riesgo de que si el diseñador visual falla (y te aseguro que con más de 20
ó 30 controles en una ficha fallará tarde o temprano), tendrás que volver
a empezar todo desde cero.

Microsoft Visual C++ MVP
==> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
>
El imitar es connatural al hombre.


Respuesta Responder a este mensaje
#5 RFOG
20/01/2008 - 11:58 | Informe spam
La verdad es que después de que Alfredo lo dijera, vi que era la mejor
solución de todas (me refiero a lo de controles de usuario).

Y efectivamente, cuando el usuario mueva la ficha padre, tu debes mover
la hijo en consonancia. Respecto a lo de que la padre se ponga encima
de la hija la solución es hacer a la hija topmost=true, la verdad es
que mi solución termina resultando bastante chapuzas...

Alberto formulated the question :
Estoy probando lo que me comentas pero tengo varios problemas.

El primero (y más tonto) es que no logro situar el formulario nuevo (el que
no tiene borde) en la zona que quiero. Situé un panel en el centro del
formulario principal sobre el que iré situando el resto de los formularios
pero aunque iguale las propiedades Location no aparecen en el mismo sitio.

Otro problema es que cuando el usuario interactúa con la ficha principal, las
otras fichas pasan a segundo plano. Además, si la ficha principal se mueve,
también hay que mover las fichas secundarias.

¿No sería mejor trabajar con controles de usuario?
Muchas gracias
"RFOG" escribió en el mensaje
news:
alberto explained on 18/01/2008 :
En una aplicación tengo varios tipos de pantallas (mantenimientos, grids,
etc) pero no quiero mostrarlos en ventanas independientes. Me gustaría que
se mostrasen en el formulario principal.

Mi duda es acerca de cómo hacer la codificación. Pensé en situar los
controles de cada opción en paneles independientes y hacerlos visibles
cuando el usuairo quiera. Otra opción sería utilizar un tabControl y
codificar cada pantalla en una pestaña.

¿Se os ocurre alguna otra opción o mejora sobre las anteriores? Gracias



Una opción algo menos "políticamente correcta" sería tener una ficha para
cada pantalla, pero sin marco ni nada (FormBorderSytle puesto a None, y
quizás MDI hijas). Y una principal vacía debajo de todo. Conforme a la
acción del usuario vas mostando la adecuada.

La ventaja de esto es que como empieces a llenar de controles una sola
ficha el IDE se va a arrastrar de velocidad, aparte de que corres el riesgo
de que si el diseñador visual falla (y te aseguro que con más de 20 ó 30
controles en una ficha fallará tarde o temprano), tendrás que volver a
empezar todo desde cero.

==>> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
>>
El imitar es connatural al hombre.







Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación

La vida es simplemente un mal cuarto de hora formado por momentos
exquisitos.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida