Autore Topic: Gestione evento Change su ValueBox per le date  (Letto 788 volte)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Gestione evento Change su ValueBox per le date
« il: 11 Novembre 2017, 15:42:26 »
Ho usato una ValueBox per gestire le date da inserire nella mia procedura e devo dire che è una soluzione funzionale soprattutto associata alla variabile di tipo Date, rimane solo una zona d'ombra, la gestione dell'uscita dall'input, ho provato a gestire con l'evento BdlClick, perché avevo notato che per scegliere una data dal calendarietto di suggerimento che compare ci vuole un doppio click, ma il gestore di eventi questo non lo sente (forse perché non viene compiuto sulla ValueBox vera e propria), ho perciò provato ad usare l'evento Change e scegliendo la data dal suggerimento il tutto funziona, il gestore di eventi si accorge del cambiamento ed esegue la Sub associata.

La questione però si complica se chi usa il programma decide di non scegliere la data, ma di scriverla direttamente, in questo caso appena si digita un solo numero (io posso avere la necessità di inserire una data completa) il gestore di eventi interviene perché verifica comunque un cambiamento e non mi lascia inserire la data desiderata.

Avevo provato a gestire l'input con un evento KeyPress e con l'input a livello manuale va bene, ma diventa troppo macchinoso dopo il DblClick dare ancora un ulteriore enter per terminare l'evento. La cosa migliore sarebbe gestire i due tipi di input separatamente, ma ciò è possibile?

C'è qualche soluzione migliore che io non ho visto?

Vi ringrazio, Caoooooo  :ciao: :ciao: :ciao:
Bye by Afo

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Gestione evento Change su ValueBox per le date
« Risposta #1 il: 11 Novembre 2017, 20:21:25 »
Così su due piedi:
Io userei DateBox   ;D e come evento _LostFocus() (va bene anche per valuebox col tipo data che poi è la stessa cosa di datebox).

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Gestione evento Change su ValueBox per le date
« Risposta #2 il: 12 Novembre 2017, 11:34:21 »
Grazie GianLuigi per la tua pronta risposta,

ho verificato la DateBox ed effettivamente a molti più eventi disponibili della ValueBox ed in effetti penso che alla stesura finale andrò ad usare la precedente classe al posto di quest'ultima.

Il mio problema però non penso si risolva con questa sostituzione perchè le due classi si comportano in modo analogo, ciò che intendo ottenere e che dall'inserimento di una data si esca scegliendo dal calendarietto che compare un giorno, e questo si ottiene splendidamente con l'evento change, o in alternativa scrivendo manualmente la data stessa e terminandola con un enter o un tab.

E' proprio con questa seconda alternativa che si verifica la problematica che ti ho esposto, a me pare che la risoluzione di tutto sia ad un altro livello, ho provato a vedere la proprietà Action.Lock, Action.Unlock e mi pare possa essere un pista da seguire.

Che ne dite?

Ciaooooo  :ciao: :ciao: :ciao:
« Ultima modifica: 12 Novembre 2017, 11:35:19 da Franco_da_vc »
Bye by Afo

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Gestione evento Change su ValueBox per le date
« Risposta #3 il: 12 Novembre 2017, 14:53:28 »
 :ciao: Franco,
non riesco proprio a capire il tuo problema e perché l’evento LostFocus non vada bene.
L’evento Change come dice la parola stessa viene scatenato ogni qualvolta si scrive un dato e pertanto non vedo come possa servirti alla bisogna.

Parlando di DataBox se usi l’evento Click viene scatenato solo dopo la scelta dal calendario.
Se uno inserisce il dato manualmente  puoi intercettare la data da LostFocus

Altrimenti metti un pulsante Conferma data e sposti tutto il codice li.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re:Gestione evento Change su ValueBox per le date
« Risposta #4 il: 12 Novembre 2017, 16:29:20 »
potresti continuare ad usare l'evento change e verificare se il contenuto è una data con isdate, fino a quando is date è falso la sub noin fa nulla mentre esegue il codice solo quando la data è valida
Matteo DoubleMM Mion

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Gestione evento Change su ValueBox per le date
« Risposta #5 il: 12 Novembre 2017, 19:25:17 »
Ho usato una ValueBox per gestire le date da inserire nella mia procedura ...

Io userei una casella così (vedi allegato)
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro