Ce n'est pas une réponse. Il s'agit de ma méthode de travail. Aucune des réponses ou commentaires ci-dessus n'a fonctionné pour moi. J'ai également cherché et essayé d'autres méthodes.
J'utilise Visual Studio.NET avec C# et Windows.Forms depuis sa sortie initiale. Jusqu'à VS 2022 et Windows 11 cette année, le réglage du mode d'échelle semblait fonctionner correctement. Pour une raison quelconque, un peu de de mes valeurs Form.Height sont réduites au moment de l'exécution. Aucun problème jusqu'à présent avec la modification de Form.Width. Pour moi, ce problème a commencé le 1er avril 2022 - j'ai donc d'abord pensé qu'il s'agissait d'un poisson d'avril !
Quoi qu'il en soit, j'ai renoncé à essayer solutions pour l'instant et j'ai décidé qu'il était plus pratique pour moi de simplement définir la taille du formulaire dans le code du constructeur.
J'observe que le Designer UI utilise Taille qu'il convertit en ClientSize
dans son code généré comme suit :
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(744, 109);
this.ControlBox = false;
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
Ma solution de contournement dans le constructeur de mon formulaire ressemble à ceci :
/// <summary>
/// Constructor
/// </summary>
public MyForm()
{
// In the designer, MyForm.Size was entered and displayed as 760, 148
InitializeComponent();
// At runtime, MyForm.Size is changed to 760, 111
// I will Reset this form's Size here so I can get full height again.
this.Size = new Size(760, 148);
}
Plate-forme :
- Windows 11 Professionnel
- Microsoft Visual Studio Professional 2022
- Version 17.1.6
- VisualStudio.17.Release/17.1.6+32421.90
- Microsoft .NET Framework version 4.8.04161
- C# Tools 4.1.0-5.22165.10+e555772db77ca828b02b4bd547c318387f11d01f
- Vidéo HDMI 1920x1080 (100% ou pas de mise à l'échelle)