Non penso ci siano molte soluzioni già pronte oltre a quella di intercettare la modifica delle caselle di testo invocando un metodo che abiliti e disabiliti il pulsante, oppure l'utilizzo di un Timer, benché più rischioso.
La libreria VCL di Delphi/C++Builder, invece, offre un meccanismo che si basa su azioni che possono essere eseguite all'interno di un'interfaccia utente, a cui è possibile associare controlli visuali di diverso tipo (menu, pulsanti, ecc.) i quali riflettono lo stato dell'azione, mostrando le sue caratteristiche (testo, suggerimenti descrittivi, stato di abilitazione, ecc.), consentono di eseguirla (generando un apposito evento) con la possibilità di mantenere costantemente aggiornato, in modo centralizzato, lo stato dell'azione ogni volta che i messaggi in coda vengono gestiti, svolgendo in modo del tutto automatico - in sostanza - quanto indicato sopra.
Questa mancanza è una delle lacune di Windows Forms più sentite, ma è possibile rimediare facendo uso di componenti esterni che implementano grossomodo, con più o meno problemi, tale funzionalità. Si veda, ad esempio, questa implementazione (CodeProject).
Ciao!![]()