2009-06-22 15 views
6

tengo 3 controles personalizados, que quiero colocar en una ventana de tamaño variable uno al lado del otro. cuando se cambia el tamaño de la ventana, estos controles también deben cambiar de tamaño, tomando cada uno el 33% del ancho disponible.C# winforms distribuye uniformemente 3 controles

intenté usar un diseño de tabla, pero parece que la tabla solo crece, pero nunca se encoge.

gracias por cualquier ayuda en esto!

+0

Por favor, describa lo que quiere decir con 'nunca se encoge'. Ese no debería ser el caso. –

+0

quiero decir, que cuando hago que la ventana sea más grande, la tablelayout crece con ella. pero cuando hago que la ventana sea más pequeña, la tabla de instalación permanece como está. – clamp

+0

@matt: ese no es el comportamiento normal. Pruébalo en un formulario limpio. La respuesta de Ksempac es correcta. –

Respuesta

18

Puede usar un TableLayoutPanel, con 3 columnas cada una de las dimensiones "33% por ciento". A continuación, coloque cada uno de sus controles en el panel y establezca la propiedad de anclaje como desee (por ejemplo, de derecha a izquierda si su control debe redimensionarse solo en el plano horizontal).

Su TableLayoutPanel también debe tener su propiedad Dock establecida en True para que pueda ocupar toda la ventana y cambiar el tamaño en consecuencia.

+0

gracias, pero eso es exactamente lo que ya hice, pero como he dicho, la tablelayout solo crece, pero nunca se encoge – clamp

+0

. Hay varias cosas que debe verificar: ¿configuró la propiedad Dock de su control? Si no lo hizo, ¿cuáles son los valores de su propiedad Anchor? ¿El diseño cambia de tamaño en todas las direcciones? ¿Estás seguro de que el diseño no está cambiando de tamaño? Si el diseño intenta cambiar el tamaño, pero su control no lo hace (porque no tienen establecida ninguna propiedad de anclaje o de acoplamiento), no lo verá. – Ksempac

+0

Lo siento en la primera pregunta que quise decir "¿Ha establecido la propiedad Dock de su TableLayoutPanel?". – Ksempac

Cuestiones relacionadas