2012-06-06 5 views
0

Salutation,Ajout dynamique de boutons et ajout de leur code source

J'ai déjà vérifié ma question sans aucune chance de réponse ou quelque chose de similaire.

Alors, voici c'est mon problème:

J'ai créé un logiciel caissière de café pour mon patron qu'il a des boutons pour chaque produit que caissière veut ajouter un projet de loi/table. Si un bouton est cliqué, par exemple btnOrangeJuice, sur son événement de clic, il appelle une fonction par exemple du nom: addOrder("Orange Juice");

Dans cette fonction, il ne le simple code de suivi:

a) il se connecter à la base de données
b) retourne le prix du produit « jus d'orange » par exemple (select price from products where product_name = '" + product_parameter + "'")
c) prendre le résultat, et l'ajouter à la liste des commandes avec son prix et ainsi de suite ..

le problème ici est, (laisse aller avec l'exemple des aperçus) chaque fois que nous avons un nouveau produit, je dois manuel Personnalisez le formulaire en ajoutant un bouton 52x52 pixels, le nom btnOrangeJuice, le nom de texte "Orange Juice", et sur l'événement click pour appeler ma fonction addOrder("Orange Juice"), puis téléchargez la nouvelle version de mon logiciel sur mon hébergement en ligne et mettez à jour le logiciel du pc du caissier. Cela prend du temps pour moi, surtout quand nous faisons de nouveaux accords avec les fournisseurs, je voulais donc que mon programme ajoute dynamiquement des boutons, pour faire tout cela en ayant un formulaire, taper les propriétés du bouton, appeler une fonction et ajouter un bouton par lui-même avec ses dimensions, vérifiez si son espace de forme, si c'est le cas, ajouter le bouton ci-dessous à droite, et bien sûr ajouter les propriétés du bouton et son événement click (qui appelle ma fonction intégrée) .

Si vous avez besoin de plus de détails concernant mon logiciel/problème, veuillez demander.

Alors pouvez-vous m'aider s'il vous plaît?

+0

WPF ou Windows Forms? Je suppose que vous voulez dire Windows Forms –

Répondre

2

L'approche standard consiste à attribuer à chaque produit un identifiant unique et à disposer d'un mécanisme permettant d'ajouter un ordre qui prend l'identifiant unique comme paramètre. Vos produits ont déjà probablement un identifiant unique car ce sont des entités persistantes (une clé primaire de base de données par exemple).

Si vous souhaitez que le bouton d'ajout contienne le texte du produit, vous pouvez le définir dynamiquement à partir du nom du produit, qui est de nouveau déjà stocké dans la base de données. Il n'est pas nécessaire de répliquer cette information dans votre code d'interface utilisateur.

+0

si j'ai bien compris votre réponse, est d'inclure toutes les propriétés du bouton à la table de mon produit. C'est un bon mécanicien. Disons que je fais ceci, j'ai une rangée dans ma table de produit avec des valeurs, nom: Jus d'orange, prix: 2.00, forme: SoftDrinks.frm etc. Comment charger le nouveau bouton sur la phase de chargement de logiciel? Pour l'ajouter sur le formulaire SoftDrinks.frm, vérifiez quelle est la position disponible concernant les espaces vides disponibles (pas en dehors du formulaire)? Et comment puis-je inclure le code Click_Event du bouton? – Phil

+0

Premièrement, quelle technologie utilisez-vous, il semble que vous vous référez à WinForms, mais vous avez également mentionné l'hébergement en ligne, ce qui impliquerait probablement WebForms. Dans les deux cas, les principes sont les mêmes, votre interface utilisateur récupère une liste de tous les produits (ou de toutes les boissons gazeuses) et crée ensuite un nouvel élément d'interface utilisateur pour chaque élément du jeu de résultats. Cela inclurait un bouton "order" qui exécute un morceau de code, en passant l'identifiant unique de ce produit. Je ne sais pas ce que vous entendez par «vérifiez quelle est la position disponible en ce qui concerne les espaces vides disponibles (pas en dehors du formulaire)? – devdigital

Questions connexes