ny dimensiones de los componentes en el interior de
ual Basic 6 no era extrano tener que responder al even-
Alculos matematicos, ajustar los controles y conse-
automatico de la po
sus contenedores. En Vi
to Resize para, mediante
guir una presentacion consistente
En Visual Studio .NET toda esa codificacién manual puede evitarse gracias
a la existencia de las propiedades Anchor y Dock.
La primera establece los puntos de anclaje del control respecto a su conte-
nedor. Puede contener, mediante combinacion logica, uno o mas de los valores:
enumerados en la tabla 10.
Por defecto todos los controles tienen los valores Left y Top, de tal manera
que mantienen su posicion estatica en el formulario relativa a la esquina supe-
rior izquierda de éste.
Tabla 10.2. Valores de la enumeracion Anchorstyles
None Ninguno
Left Izquierdo
Top Superior
Right Derecho
Bottom Inferior
Si desea que un cierto control conserye su posicién r
ferior derecha, por ejemplo un boton que haya situado en esa posicion, no ten-
dria mas que modificar la propiedad Anchor eliminando los valores Left y
lativa a la esquina in
Top y asignando Right y Bottom. Puede hacer esto durante la fase de diseno.
en la ventana de propicdades (véase figura 10.15) 0 bien con una sentencia co-
mo la si
guiente:
Butlonl.Anchor = AnchorStyles.Right Or AnchorStyles.Bottom
Pn caso de que la propiedad Anchor de un control tenga dos valores opues-
tos, como Left y Right 0 Top y Botton, lo que conseguiremas es que el an-
cho 0 alto del control, respectivamente, se adecuen a los cambios de tamano del
contenedor, Puede hacer una prueba simple pero que le permitira comprender
facilmente el funcionamiento de Anchor. Partiendo de un formulario como el
de la figura 10.14, en el que existen varias cajas de texto y etiquetas, una lista y
tres botones, haremos los cambios siguientes:
* Seleccionamos la lista y, desplegando el editor de la propiedad Anchor
en la ventana Propiedades, activamos los valores Right y Bottom sin
desactivar los dos que aparccen mareados por detecto.
¢ Elegimos conjuntamente los tres botones que hay en la parte inferior, des-
plegamos el mismo editor de la propiedad Anchor y desactivamos los
valores Left y Top para activar Right y Bottom.AccessbleDescgtcn
AccossbleName
AccessbieROe
Figura 10.15. La propiedad Anchor dispone de un editor visual que facilita
la modificacion
Para seleccionar varios controles de manera conjunta puede pinchar sobre
ellos con el botén principal del ratén mientras mantiene pulsada la tecla
Mayas, o bien trazar con el botén principal del raton un recuadro en el que
estén incluidos esos controles.
Hechos esos cambios, al ejecutar el programa y alterar el tamanio de la ven
tana vera que las dimensiones de la lista se ajustan en consecuencia, ocupando
siempre la mayor parte del espacio disponible. Los botones, por su parte, se
desplazaran abajo y a la derecha para evilar la superposicién sobre la lista. La
figura 10.16 muestra la ventana, en ejecucion, tras haber aumentado el ancho y
alto.
Para conseguir esto mismo en Visual Basic 6 no teniamoas mas remedio que
escribir codigo con el fin de realizar manualmente los ajustes:
Otra forma de mantener un control en una posieisn fija, iIndependientemen-
te de que las dimensiones del contenedor se vean alteradas en ejecucion, consis-
te en adosarlo a un cierto margen de éste. Con ese fin se usa la propiedad Dock
que, por regla general, toma por detecto el valor None de los enumerades en la
labla 10.3, aunque algunos controles, como puede ser StatusBar, asignan ini-
cialmente un valor distinto.Figura 10.16. Los controles de la ventana se ajustan automaticamente
a los cambios de tamafio
Tabla 10.3. Valores de la enumeracién DockStyle
None No se adosa
Bottom A la parte interior del contenedor
Top A la parte superior del contenedor
Left A la parte izquierda del contenedor
Right A la parte derecha del contenedor
Fill Ocupando todo el espacio disponible en el contenedor
Al igual que Anchor, la propiedad Dock dispone de un editor visual especi-
fico que permite seleecionar facilmente el punto al que deseamos adosar el con-
trol. Inserte en el formulario un componente StatusBar, cuyo fin es servir
como linea de estado en una ventana. Vera que se ajusta automaticamente a la
parte inferior, sin importar los cambios en las dimensiones de la ventana. Pue-
de modificar la propiedad Dock para situar la barra en la parte superior, iz-
quierda, derecha u ocupar toda la ventana
Usadas conjuntamente, estas dos propiedades simplifican enormemente el
disefo de interfaces de usuario que se adaptan sin problemas a la modificacion
de las dimensiones iniciales de la ventana sin, por ello, tener que escribir cédi-
go alguno
Eventos de teclado y ratén
La mayoria de los controles que usaremes para disefar interfaces de usua-
rio Windows se encargan de gestionar adecuadamente los eventos generados