J'ai un formulaire qui doit être maximisé en VB.net. Je ne veux pas que l'utilisateur puisse modifier sa taille ou le déplacer. Comment puis-je le faire ?
Une image vaut vraiment mille mots !
J'ai un formulaire qui doit être maximisé en VB.net. Je ne veux pas que l'utilisateur puisse modifier sa taille ou le déplacer. Comment puis-je le faire ?
@YumYumYum le seul moyen que j'ai trouvé pour faire cela était de le définir dans le code au moment où je lançais le formulaire.
Pour empêcher les utilisateurs de redimensionner, définissez le FormBoderStyle sur Fixed3D ou FixedDialog dans la fenêtre des propriétés ou dans le 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, il faut remplacer 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
Constantes à transmettre à l'API Windows - chaque entier représente une commande Windows Message et le paramètre correspondant
C'est ce qui fonctionne le mieux, et cela empêche l'utilisateur de faire glisser le formulaire vers un autre moniteur également (un problème que j'ai, je ne sais pas si c'est win 8 ou plusieurs moniteurs qui causent cela). C'est compliqué (ce n'est pas la faute de la réponse), mais la réponse est correcte.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
@Powerlord Comment savez-vous que ce n'est pas une sorte de lecteur de film ou de jeu où vous veulent jusqu'au dernier pixel ?
1 votes
Microsoft fournit un exemple complet dans le cadre de sa documentation sur l'application Propriété Form.FormBorderStyle .