Gestione eventi Validating e validated

martedì 28 febbraio 2006 - 16.40

trinity Profilo | Guru

Ragazzi io ho il seguente codice scritto (scritto in vb net 2005):

Private Sub MaskedTextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MaskedTextBox1.Validating
If IsNumeric(Me.MaskedTextBox1.Text) = False Then
MessageBox.Show("Attenzione codice iva errato", "INVOICE.IT", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
e.Cancel = True
End If
End Sub

Private Sub Button1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Validated
annulla() rem routine che pulisci i campi di input...
End Sub


ho scritto questo codice perchè nel passaggio al successivo campo di inserimento mi deve monitorare se il valore di inserimento è errato...cmq la mia domanda è la seguente se io carico la form...il cursore si posa sulla Masktextbox ma senza fare alcun inserimento vado a cliccare il pulsante di uscita...mi genera sempre l'errore...come faccio a gestire l'errore solo nel passaggio tra una campo e l'altro????so anche che essendo una mask...e formattata in numeric, il testo non lo accetta in automatico e quindi, nell'evento click del pulsante salva, potrei fare una If di controllo del tipo:

if Me.MaskedTextBox1.Text = " " then
.....
else
salva dati ........(codice)
end if

volevo utilizzare gli eventi Validating e validated ma da come ho potuto constatare questi eventi si attivano su tutti gli oggetti della form....ci sarebbe un'altra soluzione??? altrimenti procedo con la mia idea di inserire un controllo sul pulsante di salvataggio...


Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

Ciciu Profilo | Senior Member

Ciao.
Secondo me, potresTi implementare il Tuo controlloin maniera leggermente diversa...

Se il TextBox è vuoto, parti dal presupposto che vada bene. Se contiene qualcosa, invece, quel qualcosa deve tassativamente essere corretto, anche se stai premendo il pulsante di cancel.

Quando andrai a pigiare il pulsante di conferma, dovrai solo piùpreoccuparTi di quelli che sono i campi obbligatori...

Quindi :
Se abbandoni il campo del codice IVA, e non hai messo un codice IVA, non dai alcuna segnalazione.
Se lo abbandoni con un codice "sballato", dai segnalazione.
Se pigi il pulsante "Cancel" non dai alcuna segnalazione (se non, magari, la conferma dell'abbandono dei dati).
Se pigi il pulsante "Ok", controlli che i Tuoi campi obbligatori siano valorizzati (se lo sono, il controllo è già stato effettuato) : se non lo sono, dai un messaggio di errore, e riposizioni il focus sul primo campo obbligatorio non zato.

Spero di essere stato sufficientemente contorto nel ragionamento !

Ciao
fg

Fabio G
Fabio G

trinity Profilo | Guru

Grazie del consiglio...è una cosa che già avevo fatto e funziona perfettamente solo che non so cercavo qualcosa di + sintetico possibile.....Bohhh!!!!Sinceramente non capisco neanche io perchè avendo già la soluzione ho postato questo quesito..

Comunque sei stato gentilissimo

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5