Guide e Tutorials:indexed | ||||||||||||||||||||||||||||||||||||||||||||||
Il controllo Masked Edit Il controllo Masked Edit è un'estensione del più comune controllo TextBox. Utilizzando il primo è dunque possibile evitare di allungare notevolmente il codice per istruire una casella di testo standard ad esempio ad inserire determinati tipi di dati. Il tutto comincia dall'importazione del controllo sulla form. Sarà quindi necessario cliccare col tasto sinistro del mouse sulla finestra dei controlli, scegliere la voce 'Componenti...' dal popup-menu che apparirà e contrassegnare col segno di spunta la casella corrispondente alla voce 'Microsoft Masked Edit Control x.0' come riportato nella figura qui sotto: Si dovrà quindi trascinare sulla form l'immagine inserita in un pulsante che apparirà nella finestra dei controlli, all'estrema sinistra della finestra di lavoro di Visual Basic ed eventualmente disporla nelle dimensioni in altezza e lunghezza preferite. L'icona che corrisponde al controllo Masked Edit sulla finestra dei controlli è la seguente: La peculiarità di MaskedEdit consiste nel concetto di maschera, ossia una sorta di filtro impostabile al momento dello sviluppo del progetto o durante la sua esecuzione. Nel caso non venga utilizzata la maschera, il controllo si comporterà come una semplice casella di testo. Attraverso la proprietà Mask è dunque possibile impostare la maschera di input del controllo ossia si può fare in modo che, per esempio, il controllo distingua tra caratteri numerici e alfabetici. Non è naturalmente possibile una verifica del contenuto, ossia di quello che si immette nella casella di testo. Nel caso però in cui Se si tenta di immettere un carattere che non è stato definito nella maschera di input, il controllo genererà un evento ValidationError, cosa che risulterà più chiara in seguito. Quali sono le limitazioni sul testo che si possono applicare? Eccone una tabella esaustiva:
Che cosa significa tutto ciò? Che se ad esempio vogliamo che l'utente immetta un testo del tipo 'carattere-numero-carattere', dobbiamo impostare la proprietà Mask del controllo nel seguente modo:
L'utente visualizzerà una linea (o meglio, tre linee singole unite in modo da formarne una più lunga) che rappresenta la lunghezza del testo che deve essere necessariamente immesso. Un esempio è rappresentato dalla figura qui sotto: Nel caso in cui l'utente immetta un carattere non contemplato al momento dello sviluppo del codice non verrà visualizzato niente: il controllo rimarrà bloccato. E'poi possibile impostare il carattere che può sostituire dette linee. Ad esempio, nel caso in cui si voglia sviluppare un'interfaccia per la richiesta di una password all'utente, sarà sufficiente settare la proprietà PromptChar in modo che si visualizzino gli asterischi come nel codice qui indicato:
Immettere una stringa nulla ("") comporterà un'errore nell'utilizzo della proprietà PromptChar. E' però possibile eliminare del tutto i caratteri indicando una stringa formata da uno spazio vuoto (" ") ad esempio:
darà al controllo l'aspetto di una classica TextBox. E'altresì possibile accettare o meno che l'utente immetta gli stessi caratteri che compongono questo prompt, ad esempio che l'utente immetta il carattere '*' se il prompt è '******'. Si utilizza a questo scopo la proprietà AllowPrompt. Nel seguente codice si impedisce all'utente l'utilizzo del carattere '_':
Altra proprietà è AutoTab che determina un determinato controllo dovrà ricevere lo stato attivo non appena l'utente inserirà una serie di caratteri validi. Se si imposta la proprietà AutoTab su True e si include nel progetto una semplice casella TextBox, non appena l'utente immetterà l'ultimo carattere, il controllo passa alla TextBox, accogliendo gli eventuali successivi caratteri digitati. La proprietà ClipMode permette di determinare invece se includere i caratteri letterali della maschera quando si eseguono operazioni di taglia & incolla. Le impostazioni possibili sono mskIncludeLiterals che include tutti i caratteri letterali della maschera che non siano ancora stati sostituiti dal testo immesso successivamente e mskExcludeLiterals che li esclude tutti. Un'altra proprietà è ClipText che visualizza tutto il testo presente nel controllo MaskedEdit ad esclusione dei caratteri della maschera. Tutte le altre proprietà sono tipiche del controllo TextBox e dunque non verranno trattate in questo articolo. Unico evento rilevante è il già citato ValidationError che entra in gioco nel momento in cui l'utente tenta di immettere un carattere di formato non valido. Se in questo caso vogliamo visualizzare un messaggio di errore generico:
|
Archivio:ndexed | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |