How do I prevent a form from being resized by the user?
I have a form that needs to be maximized in VB.net. I don't want the user to be able to change its size or move it around. How can I do this?
Solution 1:
Set the highlighted properties. Set MaximimSize and MinimizeSize properties the same size
Solution 2:
//Set fixed border
yourForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D
//Set the state of your form to maximized
yourForm.WindowState = FormWindowState.Maximized
//Disable the minimize box and the maximize box
yourForm.MinimizeBox = False
yourForm.MaximizeBox = False
Solution 3:
To prevent users from resizing, set the FormBoderStyle to Fixed3D or FixedDialog from properties window or from code
frmYour.BorderStyle = System.WinForms.FormBorderStyle.Fixed3D
And set the WindowState property to Maximized, set the MaximizeBox and MinimizeBox properties to false.
To prevent the user from moving around, override WndProc
Protected Overrides Sub WndProc(ByRef m As Message)
Const WM_NCLBUTTONDOWN As Integer = 161
Const WM_SYSCOMMAND As Integer = 274
Const HTCAPTION As Integer = 2
Const SC_MOVE As Integer = 61456
If (m.Msg = WM_SYSCOMMAND) And (m.WParam.ToInt32() = SC_MOVE) Then
Return
End If
If (m.Msg = WM_NCLBUTTONDOWN) And (m.WParam.ToInt32() = HTCAPTION) Then
Return
End If
MyBase.WndProc(m)
End Sub
Solution 4:
Set the window start style as maximized. Then, hide the minimize and maximize buttons.