PDA

View Full Version : [C#]Creare un form "generale"


RaouL_BennetH
14-02-2007, 10:38
Buongiorno a tutti :coffee:

Mio ennesimo niubbo_problema della giornata;

In un semplice progetto sono riuscito a realizzare addirittura circa dieci forms, che sostanzialmente fanno la stessa identica cosa e, dato che non vorrei finire sul "daily wtf", vi espongo perchè quello che ho fatto fa orrore:

C'è un form principale, con il suo menu;

Dal menu posso accedere ai vari forms;

Ho un form con due caselle di testo ed un bottone di comando che mi serve per inserire nome e cognome in un db

Ho un altro form con due caselle di testo ed un bottone che mi serve per inserire un altro paio di dati sempre nel db

.....

e così via .... :(

In sostanza, ho 5 form praticamente uguali dove cambia solo l'azione eseguita dal bottone di comando presente su ciascuno di essi.

In sostanza quindi, mi sa che sul daily wtf ci finirò comunque :(

Mi date qualche suggerimento per piacere?

Grazie mille.

RaouL.

pierosa
14-02-2007, 12:41
Ciao
secondo me puoi usare un pattern Command.

Crei una interface ICommand con un metodo execute che prende come input 2 stringhe

Poi crei una classe per ogni operazione che devi fare (CommandNomeCognome, ...) che implementa l'interfaccia ICommand
in ogni classe implementi il metodo execute che esegue l'operazione specifica per quel tipo di dato

Ora puoi crearti una classe FormExecute (il form generale per tutti gli inserimenti) con 2 campi di testo ed un pulsante. Questa classe avrà un membro di tipo ICommand e il suo costruttore accetterà un parametro sempre ICommand. Al click del pulasnte esegui il metodo execute dell'oggetto ICommand passandogli il Text dei campi di testo del tuo form.

Nel form principale quando crei un nuovo FormExecute gli passi un oggetto di tipo CommandNomeCognome se devi creare il form per inserire nome e cognome oppure un altro oggetto command appropriato al tipo di inserimento che vuoi fare.