Alle 18:32, giovedì 15 giugno 2006, Michele Zarri ha scritto: > > > No, no ti assicuro che sono errori dell'utente. > > > > potresti fare un esempio? > > Ci provo. La finestra di dialogo di cui parlo serve per creare una nuova > riga in una tabella. Il primo campo di tale riga ha un formato predefinito > XX-YYnnnn dove XX-YY sono fissi e nnnn e' un numero di quattro cifre. > Se l'utente mette per sbaglio una lettera o un numero troppo grande o altre > stranezze non permetto che la finestra di dialogo si chiuda. > Inoltre il numero immesso deve essere unico (lo uso come chiave in altre > parti del programma), percio' prima di permettere la chiusura della > finestra di dialogo faccio anche un controllo sul documento per verificare > che il numero inserito non esiste. > In entrambi i casi comunico all'utente (che poi sono io) il tipo di errore. > > Potrei risolvere il primo problema permettendo solo valori numerici nel > campo di testo forzando la lunghezza massima a 4
Esiste anche un controllo chiamato "pattern-field" Questo controllo, se usato con criterio serve proprio per accertarsi che l'utente inserisca dati con un certo formato, riducendo al minimo il codice necessario per ulteriori verifiche > ma per il secondo problema > non vedo soluzioni tramite programmazione. proposta 1) - Il pulsante OK è settato come "pulsante OK" - si parte con il pulsante OK disabilitato. NB: In questo caso l'utente non può uscire schiacciando invio ma solo con esc o annulla. In pratica non devi gestire nessun evento e operi in modo tradizionale - Usi un campo pattern-field opportunamente settato per l'inserimento del dato. Ciò ti eviterà i controlli più banali sul formato. - Nell'evento TextModified del pattern-Field fai la verifica del codice inserito - Se la verifica viene superata allora abiliti il pulsante OK, diversamente lo disabiliti. In pratica: CommandButtonOK.Enabled = ControlloCodice(sCod) proposta 2) Ancora meglio sarebbe generare il codice in automatico e non tediare per nulla l'utente. ciao Paolo M --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
