Vorrei controllare mentre sto' scrivendo, se inserisco caratteri non validi, io ho creato questo codice:
PS. nel mio esempio il carattere non valido e' = ' @ '
--------------------------------------------
Private Sub txtEditSubCat_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEditSubCat.TextChanged
Dim ItemControl As String = txtEditSubCat.Text
If ItemControl = "@" Then
Dim result As Integer = MessageBox.Show("E' stato inserito il carattere '@', verra sostituito con '_', vuoi proseguire?", "Attenzione!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2)
If result = DialogResult.OK Then
Dim Item As String = Replace(ItemControl, "@", "_")
txtEditSubCat.Text = Item
End If
End If
End Sub
--------------------------------------------
Nel momento che inserisci il primo carattere, se e' una ' @ ', parte il messaggio, se dici ' OK ', elimina la ' @ ' e sostituisce con ' _ ', e te lo modifica subito pure nella TextBox().
Solo che funziona solo se il primo carattere e' una ' @ ', ma se il carattere non valido viene inserito per secondo in poi non lo controlla piu', dato il tipo di "Handles":
Handles txtEditSubCat.TextChanged che appunto e' un "TextChanged" ,
ho provato con altri Handles, ma niente
poi ho provato modificando pure il "System.EventArgs" in "System.Windows.Forms.KeyEventArgs" e usando altri Handles per la tastiera , ma niente.
Mi potete dire come fare per tenere attivo il controllo per tutta la durata della digitazione nella TextBox() ???