2011-08-28 14 views
6

¿Es posible anclar un control a otro control?¿es posible anclar un control a otro control?

Digamos que quiero que mi Button1 mantenga su distancia de 4px desde el control de Textbox1 sin
usando FlowLayoutTable control?

"Why would be this advantageous?" - one could ask 

Bueno digamos que usted tiene un SplitContainer con un divisor vertical y tiene cuadros de texto
en SplitContainer.Panel1 que están anclados a la izquierda y la derecha, pero
ancho de su tamaño máximo es menor que usted permite a la el ancho de SplitContainer.Panel1 tenga (tal vez
porque desea que el texto aparezca allí o porque el acolchado adicional o lo que sea, lo que sea)

Ahora vamos a decir que usted también tiene un botón al lado Cuadrodetexto1 y no quieres Cuadrodetexto1 a ser
superpuesto por Button1 porque se extiende hasta lejos.

Si quiero tener mi cuadro de texto llenar el SplitContainer.Panel1 de una manera que no deja espacio para
control Button1 al tiempo que ambos están anclados a la derecha ¿Cómo puedo hacerlo?

+0

Difícil de visualizar a partir de la pregunta. Anchor es apropiado para un diseño simple. Implemente diseños personalizados suscribiendo el evento SplitterMoving o el evento LocationChanged o SizeChanged del control y cambiando la propiedad Location o Size. –

+0

@Hans Gracias, pensé que sería una solución o, más probablemente, la MANERA CORRECTA de hacerlo, me preguntaba si es posible, pero su respuesta plantea otras preguntas en mí, que puedo o no preguntar aquí o en otra pregunta :) – Qqbt

+0

@Hans Tu pregunta provocó un evento y te llamé con Eventos, ESTOY escuchando :) – Qqbt

Respuesta

5

Uso extensivamente TableLayoutPanels y FlowLayoutPanels para lograr esto. Para su circunstancia específica, utilizaría un TableLayoutPanel con tres columnas y una fila para cada cuadro de texto.

Columna 1: ancho automático, contiene etiquetas con AutoSize = True.
Columna 2: 100% de ancho, contiene cuadros de texto todos con Anchor = Left, Right.
Columna 3: Ancho automático, contiene el botón en la fila adecuada.

A continuación, configuro todos los cuadros de texto, excepto el que está junto al botón, ColumnSpan = 2. A continuación, simplemente coloque TableLayoutPanel en SplitPanel y establezca Dock = Fill.

0

será una secuencia en vivo que debe fluir desde la izquierda y seguir trabajando permite que el lado derecho se debe diseñar.

  1. Debes proporcionar el artículo de la lista de cuidados de seguridad.
  2. En la lista, se deben proporcionar y controlar todas las cosas que se usan en este método;
Cuestiones relacionadas