Mas acerca del tema:
En el objeto Screen de VB tienes propiedades de la pantalla:
Width = Ancho
Height = Alto
se usa, por ejemplo:
Msgbox Screen.Width
Te lo da en Twips, que es una unidad de medida que es Standar en VB (hasta VB6).
Los formularios a su vez tienen las propiedades:
Width = Ancho
Height = Alto
y
Top = Posición a lo alto, es decir, determina la posición en el eje de las Y, nada más que al aumentar el valor se coloca más abajo.
Left= Posición en el eje de las X, siempre en Twips
También los controles tienen estas propiedades, de modo que se pueden ajustar las posiciones.
Todas estas propiedades se pueden cambiar tanto en tiempo de diseño como en tiempo de ejecución.
Ahora, bien, si las vas a cambiar en tiempo de ejecución para ajustarla a la resolución de pantalla o al estado de una ventana (si la maximiza o la restaura por ejemplo), necesitas de un evento donde hacerlo. Para eso puedes utilizar el evento Resize del formulario y colocar el código necesario ahí. Este evento se dispara cada vez que el formulario cambia de tamaño.
También este evento ocurre la primera vez que se está por mostrar el formulario.
Una forma lógica sería colocar los Width, Height, Left y Top de los controles en este evento Resize del Form, y los Width, Height, Left y Top de los formularios antes de mostrarlos, es decir antes de poner Fomulario.Show
Para situar los controles se tomaría como referencia el alto y ancho del form.
Y para determinar posición y tamaño que debe tener el form se tomaría las dimensiones de la pantalla.
(Me parece que esta mañana me levanté inspirado, o al menos con ganas de escribir)
Si quedó alguna dude decime.
Saludos,
Javier