web-dev-qa-db-fra.com

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

enter image description here

103
Jim Lahman
//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
4
Francis B.

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
2
amazedsaint

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

2
DCNYAM

Définissez FormBorderStyle sur 'FixedDialog' 

 FixedDialog

1
TheOddPerson

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.

1
Deep

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

frmYour.MinimizeBox = False
frmYour.MaximizeBox = False
0
Rowland Shaw