Cómo: Controlar el comportamiento del acoplamiento

Actualización: noviembre 2007

El orden en que se agregan los controles a un formulario puede afectar al diseño de los controles en la pantalla cuando se utiliza la característica de acoplamiento. Los controles no siempre aparecen en la ubicación prevista en la pantalla si no se agregan en el orden correcto.

El orden en que se agregan los controles a un formulario afecta al orden z y, cuando se acoplan varios controles en un control primario, el orden z determina la lógica del diseño. El primer control que se agrega a un control primario se coloca en la parte inferior del orden z y los controles que se agregan después de éste se van colocando encima, en capas sucesivas. Cuando se intenta colocar un control adyacente a otro y ambos se acoplan al mismo área en un control primario, el control que ocupa el último lugar en el orden z es el que tiene prioridad en el diseño resultante. Por ejemplo, si la propiedad Dock de dos controles se establece en Top, en escenarios normales, el control que ocupa el último lugar en el orden z aparece en la parte superior del control primario en la pantalla.

Sin embargo, cuando la propiedad Dock de un control se establece en Fill, el resultado puede ser que un control oculte otro. Por ejemplo, dos controles agregados al formulario en un orden incorrecto, podrían aparecer en la parte superior de la pantalla, uno de ellos ocultando el otro, cuando la intención es colocar sólo uno de ellos en esa ubicación.

Si se producen problemas de diseño, debe ajustarse el orden z de los controles afectados. Para solucionar este problema, se requieren pasos diferentes en función de si se utiliza o no el diseñador para agregar los controles al formulario.

Para controlar el diseño del acoplamiento

  • Corrija el orden en el que se agregan los controles en cuestión al formulario.

    Considere, por ejemplo, el caso de que se agregue un control TreeView y un control Button a un control Panel mediante programación. La propiedad Dock del control TreeView se establece en Fill y la propiedad Dock del control Button establece en Top. El control TreeView oculta parcialmente el control Button. El código que agrega los controles TreeView y Button a Panel podría ser similar al siguiente:

    this.panel1.Controls.Add(this.button1);
    this.panel1.Controls.Add(this.treeView1);
    

    Para corregir el problema, cambie el orden en que se agregan los controles al panel.

    this.panel1.Controls.Add(this.treeView1);
    this.panel1.Controls.Add(this.button1);
    

    Alternativamente, utilice el método BringToFront o SendToBack en uno de los controles.

Para controlar el diseño del acoplamiento mediante el diseñador

  1. Seleccione uno de los controles que aparece en un lugar incorrecto del formulario.

  2. Dependiendo del diseño que desee, haga clic con el botón secundario en el control y seleccione Enviar al fondo.

    O bien,

    Haga clic con el botón secundario en el control y seleccione Traer al frente.

  3. Si hay más controles implicados, puede repetir el paso 2, si necesario, hasta que se corrija el comportamiento del acoplamiento.

Nota:

Si hay varios controles implicados, se recomienda que utilice la ventana Esquema del documento para controlar el orden z.

Vea también

Conceptos

.Temas "Cómo..." de .NET Compact Framework