No me paro a mirarlo, pero imagino que si sirve, el método de truskyvb será más completo que el mio.
Sin embargo para solo mostrar imagenes stretchadas en picturebox mi sistema es algo más cómodo.
Se usa asi:
Una vez cargada la imagen en el picture (Picture1)...
StretcheaPictureBox Picture1
Código vb:
Ver originalSub StretcheaPictureBox(ControlPictureBox As PictureBox)
' ESTA SUB NO SE PUEDE LLAMAR DESDE UN EVENTO RESIZE O NO SE DEJARÁ ELIMINAR EL PICTEMPORAL
Dim PicTemp As VB.PictureBox
On Local Error Resume Next
Set PicTemp = ControlPictureBox.Container.Controls.Add("VB.PictureBox", "PicTempStretcheaPictureBox", ControlPictureBox.Container)
PicTemp.AutoSize = True
PicTemp.Picture = ControlPictureBox.Picture
ControlPictureBox.AutoRedraw = True
ControlPictureBox.PaintPicture PicTemp.Picture, 0, 0, ControlPictureBox.ScaleWidth, ControlPictureBox.ScaleHeight, _
0, 0, PicTemp.ScaleWidth, PicTemp.ScaleHeight
' ESTA SUB NO SE PUEDE LLAMAR DESDE UN EVENTO RESIZE O NO SE DEJARÁ ELIMINAR EL PICTEMPORAL (AQUI)
ControlPictureBox.Container.Controls.Remove ("PicTempStretcheaPictureBox")
End Sub
Como podeis leer, esta sub no se debe llamar desde el evento resize del form. Si tienes que resizar y "re-stretchear" los pictures al cambiar de tamaño el formulario, pon un timer que los stretchee y lo activas al finalizar el evento resize para que se haga despues de salir de el.
Saludos