Comment puis-je empêcher le redimensionnement d’un formulaire par l’utilisateur?

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

entrer la description de l'image ici

//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 

Définissez le style de démarrage de la fenêtre comme maximisé. Ensuite, masquez les boutons Réduire et Agrandir.

Pour empêcher les utilisateurs de redimensionner, définissez le FormBoderStyle sur Fixed3D ou FixedDialog à partir de la fenêtre des 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 

Ajoutez du code à l’événement de chargement de formulaire:

 me.maximumsize = new size(Width, Height) me.minimumsize = me.maximumsize me.maximizebox = false me.minimizebox = false 

Exemple: Pour une hauteur de formulaire et une largeur de 50 pixels chacune:

 me.maximumsize = new size(50, 50) me.minimumsize = me.maximumsize me.maximizebox = false me.minimizebox = false 

Notez que la définition de taille maximumsize et de taille minimumsize à la même taille que celle indiquée ici empêche le redimensionnement du formulaire.

Définissez FormBorderStyle sur ‘FixedDialog’

FixeDialog

Vous pouvez supprimer l’interface utilisateur pour contrôler cela avec:

 frmYour.MinimizeBox = False frmYour.MaximizeBox = False 

Définissez la taille minimale et maximale de la forme aux mêmes nombres. Ne pas afficher les boutons min et max.

Modifiez simplement ces parameters dans l’explorateur de solutions.

 MaximizeBox = False MinimizeBox = False 

Les autres éléments tels que ControlBox, Locked et FormBorderStyle sont en sus.

Il existe une option dans vb.net qui vous permet de faire tout cela.

Définissez <code/> lock = false </ code> sur <code> locked = true </ code>

L'utilisateur ne sera pas en mesure de redimensionner le formulaire ou de le déplacer, même s'il existe d'autres moyens, ce que je pense être le meilleur.