I hope this helps someone, because it helped me.

My prior first method was using the following:

  • Set Form to "Fixed Dialog"
  • Type a window title
  • Add following code to form:


Code:
    Protected Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.Style = cp.Style And Not &HC00000 ' WS_CAPTION
            Return cp
        End Get
    End Property
However the problem with the above solution is that in the designer now, you have to move the form objects around OTHERWISE it shows up like a huge gap either above or below in the form (the form extends in the wrong direction) very ugly in the designer then (you start not seeing your objects or have to live with live form being sized differently). This probably after the fact that the titlebar disappears in runtime but shows up in in the designer.

Then I found this better, easier and cleaner solution:

Set form to FixedDialog, erase Window Title.

Import this:

Code:
    <Runtime.InteropServices.DllImport("user32.dll")>
    Public Function SetWindowText(ByVal hwnd As IntPtr, ByVal windowName As String) As Boolean
    End Function
Add in mybase.load the following for your form:

Code:
        SetWindowText(Me.Handle.ToInt32, "User Information")
Additionally you can add an icon too

Code:
        Me.Icon = My.Resources.favicon
Give it a try, very simple and does the job right without molesting the form output. You get a titlebarless window form that has a Taskbar/ALT+TAB title and an icon.