Introduzione
In questo articolo viene illustrato l’utilizzo della casella di testo, definito tecnicamente TextBox.
Il controllo Texbox, permette di gestire le informazioni infatti in tale controllo ci si può scrivere. Un controllo di input, in cui l’utente può scrivere del testo.
Ma vediamo in dettaglio l’utilizzo di questo controllo.
Codice XAML e .Net
Dopo aver creato un progetto di tipo Silverlight 2.0, trasciniamo nella nostra form xaml, un controllo stackpanel e due controlli textbox, il tutto come mostrato nel codice xaml qui di seguito.
<StackPanel>
<TextBox Name="txtNome" Text="Emanuele" AcceptsReturn="True"
Height="80" KeyDown="TextBox_KeyDown" KeyUp="TextBox_KeyUp" VerticalScrollBarVisibility="Visible" >
</TextBox>
<TextBox Name="txtCognome" Text="Mattei" TextWrapping="Wrap"></TextBox>
</StackPanel>
Come si vede dal codice, nel primo controllo Textbox sono state impostate alcune proprietà, come per esempio la proprietà text, che permette di impostare del testo nel controllo. La proprietà AcceptsReturn, permette il ritorno a capo nella textbox, questo vuol dire, che qualora si digita il pulsante invio (return) della tastiera, si va a capo. La proprietà height imposta l’altezza del controllo, mentre la proprietà VerticalScrollBarVisibility impostata a Visible, permette di visualizzare ed utilizzare la barra di scorrimento verticale.
Nel controllo, sono presenti anche due eventi, l’evento KeyDown, si verifica nel momento in cui viene digitato il tasto mentre l’evento KeyUp si scatena quando viene rilasciato il pulsante.
Nell’esempio di codice utilizzato per il linguaggio Visual Basic net e C#, verifichiamo che i tasti che vengono digitati siano solo lettere, e invio, in questo modo permettiamo che le caselle di testo accettano solo lettere.
Per l’altra casella di testo, notiamo che è stata impostata la proprietà TextWrapping, in questo modo, quando si digita del testo, va automaticamente a capo, quando giunge al limite della larghezza della casella di testo.
Codice .Net
Passiamo in visualizzazione codice, in modo da scrivere il codice per l’evento keyDown e KeyUp, in modo che verifica se il testo digitato è una lettera o il tasto invio.
Qui di seguito si riporta il codice da utilizzare per l’evento keyDown.
VB.Net
Private Sub TextBox_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.KeyEventArgs)
If (e.PlatformKeyCode < 65 Or e.PlatformKeyCode > 90) And (e.PlatformKeyCode <> 13) Then
e.Handled = True
End If
End Sub
C#
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
if ((e.PlatformKeyCode < 65 || e.PlatformKeyCode > 90) & (e.PlatformKeyCode != 13))
{
e.Handled = true;
}
}
Tramite la proprietà PlatformKeyCode, verifichiamo che il codice digitato non sia diverso dalle lettere, verificando il codice Ascii del carattere digitato.
Impostando la proprietà Handled dell’oggetto KeyEventArgs a true, fa si che il carattere digitato non venga inserito nella casella di testo
Mentre qui di seguito si riporta il codice da utilizzare per l’event keyUp, in questo.
VB.Net
Private Sub TextBox_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Input.KeyEventArgs)
If (e.PlatformKeyCode < 65 Or e.PlatformKeyCode > 90) And (e.PlatformKeyCode <> 13) Then
MessageBox.Show("Solo lettere", "Esempio Textbox", MessageBoxButton.OK)
End If
End Sub
C#
private void TextBox_KeyUp(object sender, KeyEventArgs e)
{
if ((e.PlatformKeyCode < 65 || e.PlatformKeyCode > 90) & (e.PlatformKeyCode != 13))
{
MessageBox.Show("Solo lettere", "Esempio TextBox", MessageBoxButton.OK);
}
}
Dopo aver verificato che il carattere digitato, nel caso non è una lettera, visualizza un messaggio a video.
Conclusioni.
L’articolo ha voluto fornire le nozioni basilari sull’utilizzo delle caselle di testo, per chi proviene dalla tecnologia Asp.Net meglio ancora dalla programmazione per le Windows Application, non avrà difficoltà ad utilizzare questi controlli.
Tramite la parola download potete scaricare il file utilizzato in questo articolo.
Download