web-dev-qa-db-fra.com

Comment configurer l'interface utilisateur d'un programme pour diviser les quantités en C #?

J'ai une liste d'articles qui seront choisis dans le programme et je dois ensuite séparer les quantités du nombre en différents montants.

Voici un exemple: 10 tuyaux sont séparés en un ensemble de 3 qui sont 2 + 5 + 3. Ces 2, 5 et 3 sont envoyés à des endroits différents, c'est pourquoi nous devons les séparer.

J'utilise C # et j'essaie de penser au meilleur outil à utiliser dans une application basée sur un formulaire. J'utilise un NumericUpDown pour choisir le nombre d'emplacements (3 par exemple) nécessaires. Les emplacements et les numéros d'emplacement de quantité spécifiques sont connus par l'utilisateur lorsque le programme est exécuté. Quelle serait la meilleure façon de choisir les quantités nécessaires pour chaque emplacement? (2, 5 et 3 dans l'exemple)

Voici un exemple de le faire avec NumericUpDown, qui, comme vous pouvez le voir, peut devenir très volumineux. (Parfois, il y a 100 emplacements ou plus, ce qui le rend grand et difficile à voir) Example

3
sange

Ne montrez pas tous les zéros. Ils n'ajoutent rien. Au lieu de cela, affichez une liste déroulante qui a des emplacements possibles et un champ de valeur désactivé à gauche avec le reste (par exemple 10 dans cet exemple). Lorsque l'utilisateur choisit un emplacement, activez le champ de saisie de valeur à gauche. L'utilisateur peut maintenant diminuer la valeur du premier emplacement (par exemple à 2). Si tel est le cas, ajoutez une autre zone de liste déroulante sous la première liste déroulante et un nouveau champ de valeur désactivé sous le premier champ de valeur. Initialisez la valeur au reste (par exemple 8 ici). Encore une fois, activez le champ lorsqu'un emplacement est sélectionné.

Ainsi, pour votre exemple, les étapes seraient les suivantes: Choisissez l'emplacement A. Le reste affiché est 10. Diminuez la valeur de A à 2. Nouvelle ligne ajoutée. Choisissez l'emplacement B. Le reste indiqué est 8 Diminuez la valeur de B à 5. Nouvelle ligne ajoutée. Choisissez l'emplacement C. Le reste indiqué est

4
MSalters

Une réponse rapide serait d'avoir une liste déroulante pour sélectionner le nombre d'emplacements, qui affiche ensuite ce nombre de champs de texte, où une personne entre ensuite le nombre d'éléments pour chacun.

0
DA01