J'ai créé une application WinForm. La taille de chaque écran est de 1361, 768 en pixels. Cela a fonctionné super pour les gros écrans et / ou les ordinateurs portables. Mais maintenant, je dois déplacer mon application sur 10 pouces de comprimés d'écran, ce qui signifie que mon application ne correspond pas. P>
Je n'ai jamais eu à traiter de cette question auparavant, comment ajuster automatiquement la taille de chaque formulaire et ajuster toutes les commandes et les panneaux lors de la visualisation sur des écrans plus petits? P>
J'utilise VS 2012. P>
3 Réponses :
Essayez d'obtenir les variables de résolution pour ajuster vos écrans, il existe une réponse pour obtenir ces variables à l'aide de la classe d'écran p>
Faire des formulaires entièrement évolutifs dans Winforms est possible, mais cela prend un peu de travail. La bonne nouvelle est que la plupart de ces travaux sont effectués au moment de la conception, en organisant correctement les commandes afin que tout soit fait pour vous automatiquement par le cadre. C'est de la fraude, mais ce n'est pas difficile. Réjouissez-vous que vous n'avez pas à écrire le code de mise à l'échelle à la main, formulaire de formulaire, comme vous l'avez fait avec VB 6. P>
Il y a quatre propriétés fondamentales que vous devrez vous familiariser avec: p>
ancreur code>
< / li>
Dock code>
< / li>
marge code>
< / li>
Rembourrage code>
< / li>
ul>
Les deux derniers devraient être des développeurs Web assez familiers qui connaissent CSS-ils font la même chose ici. Le rembourrage contrôle la marge interne autour d'une commande, tandis que la marge contrôle la marge extérieure. Vous devrez les définir correctement pour vous assurer que vos contrôles peuvent "respirer", car le code de mise à l'échelle automatique va simplement les embaucher les uns contre les autres. P>
Les marges "standard" autour d'une commande d'une application Windows Desktop sont d'environ 12 à 15 pixels. Vous devriez vous assurer que vous laissez au moins cela beaucoup de place. Ajoutez ensuite des marges / rembourrage supplémentaires comme vous le voyez bien pour séparer les choses. Je garde ces spécifications de mise en page bookmarked pour référence. Ce est une autre bonne référence. P>
L'étape suivante consiste à instruire le gestionnaire de mise en page comment vous souhaitez que les commandes soient disposées et redimensionnées. La clé de ceci est de penser en termes de Container em> Controls et enfants em> contrôles. La forme elle-même est un contrôle de conteneur et vous pouvez définir ses contrôles enfant em> à l'ancrage ou à la quai dans ses limites. Un ou plusieurs de ces contrôles d'enfants peuvent lui-même être un contrôle de conteneur et ses contrôles d'enfants peuvent être ancrés ou amarrés dans ses frontières. La nidification est pratiquement illimitée, mais pour votre propre santé et vos propres performances de redessinement, vous voudrez le garder à un minimum raisonnable. P>
Un bon moyen de faire consiste à utiliser les deux aides invisibles invisibles, Généralement ce que je ferai, c'est remplir mon formulaire entier avec un nappable (margins = 0, dock = remplissage). Ensuite, j'ajouterai des contrôles individuels (ou parfois une autre nappanouille imbriquée) à ses cellules. Ces contrôles d'enfants auront leurs marges définies de manière appropriée et auront leur ensemble d'ancrage ou de propriétés de quai, selon que je souhaite que le contrôle ait une taille fixe ou redimensionnera de manière dynamique. P>
Avant de recevoir la suspension de la manière dont ces propriétés interagissent et comment tout fonctionne, vous aurez probablement besoin de jouer un peu avec votre mise en page. Faites une sauvegarde de vos formulaires, puis vous pouvez simplement creuser. Ou vous trouverez peut-être plus facile de commencer à concevoir chaque formulaire à partir de zéro (vous pouvez toujours copier des contrôles individuels et coller afin de préserver leurs autres propriétés). Finalement, tout cela commencera à vous donner un sens pour vous et vous serez debout et allez dans une jiffy. P>
La grande chose est, une fois que tout cela est mis en place, tout ce que vous avez à faire est de vous assurer que votre formulaire est redisisable. Ensuite, si l'utilisateur le redimensionne manuellement ou utilise le bouton Maximize / Restore, il remplira automatiquement leur taille d'écran. Cela fonctionne également bien pour tous les paramètres DPI, ce qui est un autre talon de Winforms Winforms Devs. P> flowlayoutpanel code>
et TableLayOntPanel code>
. Personnellement, je ne trouve pas très utile très utile très souvent, du moins pas pour les applications Windows standard. Mais la nappanouille est inestimable. P>
DevExpress a un bon témoin de contrôle le contrôle de la mise en page. Ce contrôle aide à maintenir des espaces cohérents entre les contrôles comme la forme est redimensionnée. Il faut une petite étude pour utiliser le contrôle efficacement, mais une fois que vous avez compris comment utiliser ce contrôle, les résultats sont cohérents et vous pouvez accélérer la conception de formulaire. P>
Vous voudrez peut-être regarder cela donc question Stackoverflow.com/questions/22735174/...