2010-06-02 9 views
11

Estoy usando diferentes conjuntos de controles en la misma ubicación en un formulario. Por defecto, todos son visibles = falso y luego ciertos subconjuntos de los controles se configuran como visibles a medida que el usuario selecciona valores específicos en un control desplegable del cuadro combinado.Administrar muchos controles superpuestos en Visual Studio

Desde la perspectiva del usuario, esto funciona bien ya que solo ven los controles que se necesitan.

Sin embargo, como los controles ocupan la misma ubicación en el formulario, es difícil administrarlos en la vista de diseño de Visual Studio.

¿Hay alguna manera de agrupar conjuntos de estos controles superpuestos en Visual Studio para que pueda seleccionar todo el subconjunto de controles de forma rápida y fácil? ¿Hay alguna manera de ocultar ciertos controles en la vista de diseño? En este momento, todo se apila uno sobre el otro cuando se desarrolla, por lo que dificulta la administración de estos controles.

Respuesta

9

Para hacer que una bestia funcione, pondría cada grupo en su propio UserControl. En su MainForm apila todos estos UserControls uno encima del otro.

Por lo tanto, en MainForm no se puede obtener una buena visión general, pero ahora se obtiene para cada grupo su vista de diseñador individual y en su forma principal puede ocultar el grupo completo con una sola línea de código userControl.Visible = false.

+0

No estoy seguro de por qué no pensé en eso, pero esto funciona a la perfección. ¡Gracias! – Dave

+0

Soy bastante nuevo en todo esto. ¿Exactamente cómo voy a la vista de diseñador para un GroupBox? – Bernhard

+1

@Bernhard: Muy fácil. Si hace doble clic en el explorador de soluciones en su formulario o un estudio visual de control de usuario se abrirá por defecto la vista de diseñador. Pero si actualmente está mirando el código de su formulario o control, también puede simplemente hacer clic derecho en algún lugar dentro del código y seleccionar * Design view * en el menú contextual. – Oliver

0

No puede ocultarlos.

Sin embargo, puede agruparlos en el cuadro de grupo y usar el trato de propiedad "Traer al frente" y "Enviar al remitente" con ellos.

+0

que no funciona, tan pronto como uno se superpone al otro se convierte en parte de él. –

4

Un TabControl puede hacer esto, funciona bien en modo de diseño. Solo necesitas ocultar las pestañas en el tiempo de ejecución. Verifique mi código en this thread.

+0

Ah, ¡también es una buena idea! – Dave

+0

Creo que esta idea es superior a la respuesta de Oliver en la mayoría de los casos porque te permite agrupar controles por escenario. En casi todos los casos donde esto es aplicable, los controles son específicos del contexto/contexto, por lo que esta metodología hace que sea más fácil no solo ver solo algunos controles a la vez, sino también ver solo controles juntos que el usuario VERía juntos. –

-1

En primer lugar,

Si se trabaja con varios componentes en la misma ubicación, puede utilizar groupboxes en su forma. Luego, para superponer estas cajas de grupo, debe editar cada una de sus cajas de grupo en diferentes lugares en la pantalla de su formulario. Después de la edición, debe ingresar los datos de tamaño y ubicación manualmente en el menú de propiedades de su grupo.

Si desea editar uno de sus grupos de grupo después de la ubicación configurada, puede hacer clic derecho en cualquiera de sus grupos y luego hacer clic en los comandos "enviar para volver" y "poner al frente". Espero que ayude.

Cuestiones relacionadas