0

Dans Visual Studio 2008 lorsque vous utilisez un projet Smart Device, si j'utilise Window Forms Designer pour ajouter des contrôles à un formulaire, les contrôles seront affichés au bon endroit lorsque le programme est en cours d'exécution, que le périphérique dispose d'un QVGA ou écran VGA. Toutefois, si j'ajoute manuellement des contrôles au formulaire dans mon code sans utiliser Designer, j'ai besoin que mon code vérifie au moment de l'exécution si l'appareil possède un écran VGA ou un écran QVGA. S'il s'agit d'un écran VGA, je dois multiplier les x, y, la largeur et la hauteur par 2 pour chaque contrôle ajouté manuellement. Pourquoi est-ce seulement nécessaire pour les contrôles ajoutés sans utiliser le concepteur?Comment Visual Studio 2008 Windows Forms Designer est-il compatible QVGA et VGA?

Je viens d'ajouter un commentaire sous la première réponse.

Répondre

1

contrôles qui sont ajoutés au moment de la conception sont redimensionnées automatiquement lors de la première tirée, en raison de ces propriétés dans les designer.cs:

this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); 
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 

Lorsque vous ajoutez dynamiquement des contrôles à l'exécution, vous devez effectuer votre propre mise à l'échelle . Ce n'est pas idéal, mais c'est juste comme ça fonctionne.

+0

Je ne comprends toujours pas. Les contrôles ajoutés par le concepteur sont également ajoutés dynamiquement à l'exécution, il s'agit simplement de code généré. Cela est particulièrement déroutant lorsque vous ajoutez manuellement des contrôles et contrôles ajoutés au concepteur car le code que vous avez publié ici existe toujours. –