RE:cambiar la forma de un formulario en vb
Hola! Si, podes cambiar el aspecto del form utilizando API's. Te paso un ejemplo.
Para probar el ejemplo en un form, en la seccion general, pega el siguiente codigo:
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Dim lRGN As Long 'Handle de la región
Private Sub Form_Click()
Unload Me
End Sub
Private Sub Form_Load()
Me.BorderStyle = 0 'None
'Crea una región elíptica
lRGN = CreateEllipticRgn(0, 0, Form1.Width / Screen.TwipsPerPixelX, Form1.Height / Screen.TwipsPerPixelY)
'Hace el form redondo o en elipse, según fuera el inicial
SetWindowRgn Me.hwnd, lRGN, True
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Borra la región elíptica
DeleteObject lRGN
End Sub
Lo que hace esto es crear un region eliptica(ovalada) y luego asignarla a tu ventana dando un efecto redondo.
Espero sea lo que buscas.Saludos.