Condividi tramite


Cenni preliminari sulla classe TextBox

Aggiornamento: novembre 2007

La classe TextBox consente di visualizzare o modificare testo non formattato. Un utilizzo comune di un controllo TextBox consiste nel modificare testo non formattato in un form. Ad esempio, un form in cui viene richiesto di immettere il nome utente, il numero di telefono e così via richiede l'utilizzo dei controlli TextBox per l'input di testo. In questo argomento viene presentata la classe TextBox e vengono forniti esempi del relativo utilizzo sia in Extensible Application Markup Language (XAML) che in C#.

Nel presente argomento sono contenute le seguenti sezioni.

  • TextBox o RichTextBox?
  • Creazione di caselle di testo
  • Rilevare le modifiche di contenuto
  • Argomenti correlati

TextBox o RichTextBox?

TextBox e RichTextBox consentono entrambi di immettere testo, ma sono applicabili a scenari diversi. Un controllo TextBox richiede una quantità inferiore di risorse di sistema rispetto a RichTextBox, pertanto è la scelta ideale per la modifica di testo normale (utilizzo nei form). RichTextBox rappresenta una scelta migliore quando è necessario modificare testo formattato, immagini, tabelle o altro contenuto supportato. Ad esempio, per eseguire la modifica di un documento, di un articolo o di un blog che richiede una formattazione, delle immagini e così via è più opportuno utilizzare un controllo RichTextBox. Nella tabella riportata di seguito vengono riepilogate le funzionalità principali di TextBox e RichTextBox.

Controllo

Controllo ortografico in tempo reale

Menu di scelta rapida

Comandi di formattazione quale ToggleBold (Ctr+B)

Contenuto FlowDocument, ad esempio immagini, paragrafi, tabelle e così via

TextBox

No

No.

RichTextBox

Sì (vedere Cenni generali sul controllo RichTextBox)

Sì (vedere Cenni generali sul controllo RichTextBox)

Nota

Sebbene TextBox non supporti i comandi di modifica correlati alla formattazione quale ToggleBold (Ctr+B), molti comandi di base sono supportati da entrambi i controlli, ad esempio MoveToLineEnd. Per ulteriori informazioni, vedere EditingCommands. Per un'illustrazione dei comandi di modifica utilizzati con TextBox, vedere anche Esempio EditingCommands.

Le funzionalità supportate da TextBox vengono illustrate nelle sezioni che seguono. Per ulteriori informazioni su RichTextBox, vedere Cenni generali sul controllo RichTextBox.

Controllo ortografico in tempo reale

È possibile attivare il controllo ortografico in tempo reale in un controllo TextBox o RichTextBox. Quando il controllo ortografico è attivo, viene visualizzata una linea rossa sotto le parole che presentano errori ortografici (vedere l'immagine riportata di seguito).

TextBox con controllo ortografico

Per apprendere la modalità di attivazione del controllo ortografico, vedere Procedura: attivare il controllo ortografico in un controllo di modifica del testo.

Per impostazione predefinita, entrambi i controlli TextBox e RichTextBox dispongono di un menu di scelta rapida che viene visualizzato quando un utente fa clic con il pulsante destro del mouse nel controllo. Il menu di scelta rapida consente all'utente di eseguire operazioni come Taglia, Copia o Incolla (vedere l'immagine di seguito).

TextBox con menu di scelta rapida

È possibile creare un menu di scelta rapida personalizzato per eseguire l'override di quello predefinito. Per ulteriori informazioni, vedere Procedura: utilizzare un menu di scelta rapida personalizzato con un oggetto TextBox.

Creazione di caselle di testo

Un controllo TextBox può essere dato da una sola riga in altezza o comprendere più righe. Un controllo TextBox a riga singola è più appropriato per l'immissione di piccole quantità di testo normale (ovvero "Nome", "Numero di telefono" e così via in un form). Nell'esempio riportato di seguito viene illustrato come creare un controllo TextBox a riga singola.

<Page  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>
    <TextBox Width="200" MaxLength="100" />
  </StackPanel>
</Page>

È anche possibile creare un controllo TextBox che consenta all'utente di immettere più righe di testo. Se nel form veniva richiesto di immettere alcuni cenni biografici dell'utente, utilizzare un controllo TextBox che supporti più righe di testo. Nell'esempio riportato di seguito viene illustrato come utilizzare Extensible Application Markup Language (XAML) per definire un controllo TextBox che si espanda automaticamente per inserire più righe di testo.

<TextBox
  Name="tbMultiLine"
  TextWrapping="Wrap"
  AcceptsReturn="True"
  VerticalScrollBarVisibility="Visible"
>
  This TextBox will allow the user to enter multiple lines of text.  When the RETURN key is pressed, 
  or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>

Impostando l'attributo TextWrapping su Wrap, il testo immesso va a capo in una nuova riga quando viene raggiunto il bordo del controllo TextBox, espandendo automaticamente l'altezza del controllo TextBox per includere eventualmente spazio per una riga nuova.

Impostando l'attributo AcceptsReturn su true viene inserita una nuova riga quando viene premuto il tasto INVIO e anche in questo caso il controllo TextBox si espande automaticamente per inserire, se necessario, una nuova riga.

L'attributo VerticalScrollBarVisibility consente di aggiungere una barra di scorrimento al controllo TextBox, affinché sia possibile scorrere il contenuto del controllo TextBox qualora TextBox si espanda oltre il frame o la finestra che lo contiene.

Per ulteriori informazioni sulle diverse attività correlate all'utilizzo di un controllo TextBox, vedere Procedure relative al controllo TextBox.

Rilevare le modifiche di contenuto

Per rilevare eventuali modifiche nel testo in un controllo TextBox o RichTextBox viene in genere utilizzato l'evento TextChanged e non KeyDown, come ci si potrebbe aspettare. Per un esempio, vedere Procedura: rilevare eventuali modifiche del testo in un oggetto TextBox.

Vedere anche

Attività

Esempio EditingCommands

Demo Editing Examiner

Demo Blocco note

Concetti

Cenni generali sul controllo RichTextBox

Altre risorse

Procedure relative al controllo TextBox