Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As IntPtr
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As IntPtr, ByVal hRgn As IntPtr, ByVal bRedraw As Boolean) As IntPtr
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As IntPtr) As IntPtr
Private Sub RemoveControlBorder(ByVal Ctrl As System.Windows.Forms.Control, Optional ByVal BorderSize As Integer = 3)
Dim Rgn As IntPtr = CreateRectRgn(BorderSize, BorderSize, Ctrl.Width - BorderSize, Ctrl.Height - BorderSize)
Call SetWindowRgn(Ctrl.Handle, Rgn, True)
Call DeleteObject(Rgn)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RemoveControlBorder(Me.Button1)
End Sub