Modifiche in Sospeso [RISOLTO]

di il
2 risposte

Modifiche in Sospeso [RISOLTO]

Salve a tutti,

  • C#
  • Windows Form Application
  • Controllare se esistono modifiche in sospeso in fase di chiusura della Form

Fatta eccezione dell'evento Validating, quali altri metodi possono essere usati per riscontrare se nella Form esistono controlli modificati e ancora non salvati?

Da approfondimenti che ho fatto sembra che un sistema simile ad un “Dirty” sia solo quello di auto costruirselo manualmente da codice, per esempio utilizzando una variabile booleana o cose del genere.

Secondo la vostra esperienza quale approccio utilizzare? 

Grazie!

;-)  

Edit:

Per adesso gestisco manualmente con un booleano la validazione se esisto o meno delle modifiche in sospeso. Ripeto, soluzione che non mi piace molto, ma se troverò un approccio diverso e più automatico sicuramente implementerò tale controllo.  

2 Risposte

  • Re: Modifiche in Sospeso [RISOLTO]

    Non si capisce se con “controlli modificati e ancora non salvati” tu intenda riferirti al contenuto dei controlli, collegati magari ad un database 

    Se il caso fosse questo, quindi una textbox collegata alla base dati via un bindingSource, allora puoi usare l'evento TuoBindingSource_CurrentItemChanged, ci piazzi dentro un bel breakpoint e verifichi che venga richiamato ad ogni modifica del contenuto textbox1 o textbox2 o combo3

  • Re: Modifiche in Sospeso [RISOLTO]

    06/09/2023 - amorosik ha scritto:


    Non si capisce se con “controlli modificati e ancora non salvati” tu intenda riferirti al contenuto dei controlli, collegati magari ad un database 

    Ovviamente sono controlli che vengono modificati dall'utente. Quindi il loro contenuto può cambiare sulla base delle preferenze dell'utente.

    Certo, giustamente se il sottostante è un binding non ci sarebbero problemi a verificarlo.

    Nel caso specifico sono controlli di tipo TextBox che vengono opportunamente popolati e formattati da valori che provengono da una tabella del database.

    Con il metodo validating viene verificato se contengono un valore corretto e guidano l'utente alla appropriata compilazione e/o modifica con eventuali messaggi di errore e/o di info.

    A questo punto si richiede di premere un pulsante per riportare i cambiamenti del record nella tabella.

    In questa fase devo implementare una verifica che l'utente non chiuda l'applicazione e/o la Form, senza aver prima accettato e salvato le modifiche apportate. 

    L'idea sarebbe quella di portarsi dietro un booleano da settare a true in fase di validating dei singoli controlli TextBox.
    Successivamente alla chiusura della Form o dell'Applicazione, verificare il booleano e suggerire se abbandonare le modifiche oppure salvarle nella tabella.

    Ma questo approccio manuale di gestione delle modifiche in sospeso non mi piace molto e mi chiedevo e vi chiedevo se ci fossero approcci più ortodossi.

    Grazie !

    ;-)


    P.S.
    Essendo questa la mia prima applicazione in C#, per la quale chiusa questa fase di controlli è ormai solo in fase di test e validazione dei compiti che deve svolgere, visto che mi è servita per studiare il linguaggio C# in modo più approfondito per la prima volta, vorrei chiedere se ci fosse una buon anima disposta a prendere visione del lavoro che ho svolto in modo da suggerire approcci e metodi migliori di quelli che mi sono autonomamente studiato in questo ultimo mese.
    Sarebbe per me un buon confronto a livello tecnico per capire se sono sulla strada giusta o meno prima di proseguire con altri progetti.
    Grazie!!!

Devi accedere o registrarti per scrivere nel forum
2 risposte