Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La TextBox
Uno dei controlli maggiormente potenziati in VB .Net, rispetto alle versioni precedenti, la TextBox. La prima cosa da far notare che stato finalmente superato il limite dei 64.000 caratteri circa visualizzabili: ora possibile, teoricamente, inserire fino a 2 GB di informazioni in una singola casella di testo. Una delle propriet pi interessanti, peraltro comune a tutti i controlli, la propriet Anchor, che consente di adattare il controllo alle dimensioni della finestra. Per impostarla, fare clic sulla freccia visualizzata a destra di tale propriet: comparir una piccola finestra in cui selezionare, con un clic
La TextBox
del mouse, i bordi della finestra a cui si vuole ancorare il controllo.
L'impostazione predefinita Top, Left, cio il controllo ancorato al bordo sinistro in alto: in pratica l'oggetto non viene adattato alle dimensioni della finestra, ma resta fisso nella sua posizione.
La TextBox
Proviamo ad inserire una TextBox sulla form, in una posizione qualsiasi, e ad impostare la sua propriet Anchor su Top, Left, Right. Se ora proviamo a ridimensionare il form, anche in fase di progettazione, noteremo che la casella di testo si allunga o si riduce in accordo alle dimensioni della finestra. Analogamente, se posizioniamo la TextBox nella parte bassa del form e impostiamo Anchor su Bottom, Left, essa rimarr sempre alla stessa distanza dal bordo inferiore della finestra, qualunque dimensione essa abbia.
La TextBox
Passando alle propriet specifiche della TextBox, AcceptsReturn e AcceptsTab consentono di stabilire se il controllo deve accettare, rispettivamente, i caratteri Invio e Tab. Ad esempio, la prima propriet utile quando si ha un controllo multilinea e si vuole fare in modo che, premendo il tasto Invio, venga inserita una nuova linea di testo; se, invece, AcceptsReturn False (impostazione predefinita), premendo Invio verr attivato il pulsante di default della form. AcceptsTab deve essere impostata su true se si vuole dare la possibilit di inserire caratteri di tabulazione nella TextBox, altrimenti la pressione del tasto Tab sposter lo stato attivo sul controllo successivo.
La TextBox
Altra propriet importante Lines, che consente di definire le righe di testo della casella, nel caso in cui la propriet MultiLine sia impostata su true. Facendo clic sul pulsante con i tre puntini in corrispondenza della propriet Lines, verr visualizzata la finestra di dialogo String Collection Editor, in cui possibile digitare le righe che si vogliono visualizzare, separate da Invio. Per quanto riguarda i metodi, citiamo qui solo i pi interessanti, rimandando alla consultazione della Guida in linea per l'elenco completo.
La TextBox
Il metodo AppendText aggiunge il testo specificato alla fine del contenuto nella TextBox. I metodi Copy, Cut e Paste, rispettivamente, permettono di copiare, tagliare ed incollare il testo: le operazioni con gli Appunti di Windows, che prima si realizzavano tramite l'oggetto Clipboard, ora sono accessibili come metodi della TextBox. Il metodo Focus, comune a tutti i controlli, consente di spostare lo stato attivo sull'oggetto su cui viene richiamato. Il metodo Undo, infine, annulla l'ultima operazione e, di fatto, equivale alla pressione della combinazione di tasti CtrL+Z.
La TextBox
Vediamo ora quali sono i principali eventi del controllo TextBox e come si gestiscono. L'evento Change stato rinominato in TextChanged. Ma gli eventi su cui vale la pena spendere qualche parola sono KeyDown, KeyUp e KeyPress: analizziamoli ricordando che le considerazioni che verranno fatte sono valide per tutti i controlli che possono generare gli eventi KeyDown, KeyUp e KeyPress. Per quanto riguarda i primi due, nelle precedenti versioni di Visual Basic essi avevano come parametri KeyCode e Shift, che permettevano di sapere quale carattere era stato premuto e, controllando il valore di Shift, se in combinazione con
La TextBox
ALT, CtrL o SHIFT; inoltre, scrivendo all'interno dell'evento KeyCode = 0, era possibile annullare la digitazione. Tutte queste informazioni, in VB .NET, sono contenute nel parametro e, che di tipo System.Windows.Forms.KeyEventArgs Esempio:
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp End Sub
La TextBox
In particolare, per quanto riguarda gli eventi KeyUp e KeyDown, l'oggetto espone le propriet KeyCode, Alt, Control e Shift, utili per sapere quale carattere stato premuto e se in combinazione con i tasti ALT, CtrL o SHIFT. Considerate l'esempio seguente:
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp e.KeyCode = Keys.F And e.Shift = true Then MsgBox("Premuta la combinazione SHIFT+F.") End If End Sub If
La TextBox
Keys un'enumerazione di tutti i caratteri della tastiera e pu quindi essere utilizzato per sapere quale carattere stato premuto: in questo esempio si controlla se e.KeyCode uguale a Keys.F, cio se stato premuto il carattere F. e.Shift = true, invece, usato per sapere se insieme al tasto F stato premuto anche SHIFT. Il parametro e dell'evento KeyPress, invece, espone tra le altre le propriet KeyChar e Handled; la prima contiene la rappresentazione in formato stringa del carattere premuto, mentre l'altra consente di dire a Visual Basic che
La TextBox
l'evento KeyPress gestito, cio che non si vuole visualizzare il carattere premuto nella TextBox perch sono state fatte altre elaborazioni: in pratica, equivale a porre KeyAscii = 0 nell'evento KeyPress delle precedenti versioni di Visual Basic.
Appariranno ora nuove voci nella barra dei menu, tutte contrassegnate da Type Here: al posto di ognuna di esse possibile inserire un comando di menu.
Fatto questo, ogni volta che si far clic con il tasto destro del mouse sul controllo verr visualizzato il menu contestuale; non pi necessario scrivere nemmeno una riga di codice per ottenere questo effetto.