|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[C#]Creare un form "generale"
Buongiorno a tutti
![]() 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.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jan 2007
Messaggi: 189
|
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. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:52.