J'ai un VERY simple formulaire de Windows que l'utilisateur utilise pour gérer "Magasins".Conseils sur un formulaire Windows simple
Chaque magasin a un nom et un numéro et est conservé dans une table DB correspondante.
Le formulaire comporte une zone de liste de magasins, un bouton d'ajout qui crée un nouveau magasin, un bouton de suppression et un bouton d'édition. A côté de ceux-ci, j'ai des zones de texte pour le nom et le numéro, et des boutons de sauvegarde/annulation. Lorsque l'utilisateur choisit un magasin dans la zone de liste et clique sur 'modifier', les zones de texte sont remplies et les fonctions Enregistrer/Annuler deviennent actives. Lorsque l'utilisateur clique sur 'ajouter', je crée un nouveau magasin, l'ajoute à la liste, active les zones de texte et enregistre/annule les boutons, puis le valide dans la base de données lorsque l'utilisateur clique sur 'sauvegarder' ou le supprime lorsque l'utilisateur clique 'Annuler'.
En ce moment, mon système d'événements ressemble à ceci (en pseudo-code. Il est juste plus court de cette façon.)
add->click:
store = new Store()
listbox.add(store)
populateAndEdit(store)
delete->click:
store = listbox.selectedItem
db.deleteOnSubmit(store)
listbox.remove(store)
db.submit()
edit->click:
populateAndEdit(listbox.selectedItem)
save->click:
parseAndSave(listbox.selectedItem)
db.submit()
disableTexts()
cancel->click:
disableTexts()
Le problème est dans la façon dont je déterminerons si nous insérons un nouveau magasin, ou la mise à jour un existant. La solution évidente pour moi serait de faire un processus "modal" - c'est-à-dire, lorsque je clique sur edit, je passe en mode édition, et le bouton save fait les choses différemment que si j'étais en mode add.
Je sais que je pourrais rendre cela plus semblable à MVC, mais je ne pense pas vraiment que cette forme simple mérite la complexité ajoutée. Je ne suis pas très expérimenté avec les winforms, donc je ne suis pas sûr d'avoir la bonne idée de la manière de résoudre ce problème.
Y a-t-il une meilleure façon de procéder? Je voudrais le garder simple, mais utilisable.
+1 Je suis d'accord avec ça. – galford13x