Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
[WPF] TextBox limitare l'inserimento di alcuni carratteri
lunedì 23 marzo 2009 - 11.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
danpres
Profilo
| Newbie
17
messaggi | Data Invio:
lun 23 mar 2009 - 11:08
salve a tutti,
come faccio a limitare l'inserimento di alcuni caratteri nei textbox ?
sto utilizzanto VS2008 con WPF, e l'evento keypress non esiste :(
Devo poter inserire solo Maiuscole e Numeri. No spazi, simboli e minuscole...
in Keydown, mi dice la lettera premuta ma nn riesco a sapere se è maisucola o minuscola...
siete per caso incappati in questa cosa pure voi ??
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
lun 23 mar 2009 - 22:19
Ciao danpres.
Potresti impostare la proprietà CharcterCasing = Upper.
Facci sapere...
Ciao
danpres
Profilo
| Newbie
17
messaggi | Data Invio:
mar 24 mar 2009 - 22:06
grazie mille jeremy,
ho risolto in questo modo, anche se non è proprio quello che mi aspettavo di fare...
Dim CaratteriAmmessi As Regex = New Regex("^[0-9A-Z\/\*\-\+\.]*$")
Dim cValorePrecedente As String = Nothing
Dim selStart As Integer = 0
Dim selLength As Integer = 0
Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Input.KeyEventArgs) Handles TextBox1.PreviewKeyDown
cValorePrecedente = TextBox1.Text
selStart = TextBox1.SelectionStart
selLength = TextBox1.SelectionLength
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.TextChangedEventArgs) Handles TextBox1.TextChanged
If (Not CaratteriAmmessi.IsMatch(TextBox1.Text)) Then
TextBox1.Text = cValorePrecedente
TextBox1.SelectionStart = selStart
TextBox1.SelectionLength = selLength
End If
End Sub
prima di tutto ho impostato la proprietà CharacterCasing="Upper" nello xaml come hai detto tu, poi con l'espressione regolare verifico che il testo scritto sia valido, con l'evento PreviewKeyDown mi salvo i valori attuali del campo e nell'evento TextChanged rimetto il valore precedente se il testo non va bene.
che ne dite ?
consigliate soluzioni migliori ?
Torna su
Stanze Forum
Elenco Threads
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 !