J'ai un formulaire qui doit être maximisé dans VB.net. Je ne veux pas que l'utilisateur puisse changer de taille ou le déplacer. Comment puis-je faire ceci?
Définissez les propriétés en surbrillance. Définir les propriétés MaximimSize et MinimizeSize de la même taille
//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
Pour empêcher les utilisateurs de redimensionner, définissez FormBoderStyle sur Fixed3D ou FixedDialog à partir de la fenêtre de propriétés ou du code.
frmYour.BorderStyle = System.WinForms.FormBorderStyle.Fixed3D
Et définissez la propriété WindowState sur Maximized, définissez les propriétés MaximizeBox et MinimizeBox sur false.
Pour empêcher l'utilisateur de se déplacer, remplacez 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
Définissez le style de démarrage de la fenêtre comme maximisé. Ensuite, masquez les boutons Réduire et Agrandir.
Ajoutez du code à l'événement Form Load:
me.maximumsize = new size(Width, Height)
me.minimumsize = me.maximumsize
me.maximizebox = false
me.minimizebox = false
Exemple: Pour une hauteur et une largeur de formulaire de 50 pixels chacune:
me.maximumsize = new size(50, 50)
me.minimumsize = me.maximumsize
me.maximizebox = false
me.minimizebox = false
Notez que définir maximumsize
et minimumsize
sur la même taille, comme indiqué ici, empêche le redimensionnement du formulaire.
Vous pouvez supprimer l'interface utilisateur pour contrôler cela avec:
frmYour.MinimizeBox = False
frmYour.MaximizeBox = False