Condividi tramite


Panoramica di TextBox

La TextBox classe consente di visualizzare o modificare testo non formattato. Un uso comune di un TextBox è la modifica di testo non formattato in un modulo. Ad esempio, un modulo che richiede il nome dell'utente, il numero di telefono e così via userebbe TextBox i controlli per l'input di testo. Questo argomento presenta la TextBox classe e fornisce esempi di come usarlo sia in XAML (Extensible Application Markup Language) che in C#.

TextBox o RichTextBox?

Sia TextBox che RichTextBox consentono agli utenti di immettere testo, ma i due controlli vengono usati per scenari diversi. Un TextBox richiede meno risorse di sistema rispetto a un RichTextBox oggetto in modo che sia ideale quando è necessario modificare solo il testo normale (ad esempio, l'utilizzo in un modulo). Un RichTextBox è una scelta migliore quando è necessario per l'utente modificare testo formattato, immagini, tabelle o altro contenuto supportato. Ad esempio, la modifica di un documento, un articolo o un blog che richiede formattazione, immagini e così via viene eseguita al meglio usando un oggetto RichTextBox. La tabella seguente riepiloga le funzionalità principali di TextBox e RichTextBox.

Controllo Controllo ortografico in tempo reale Menu di scelta rapida Formattazione di comandi come ToggleBold (Ctr+B) FlowDocument contenuto come immagini, paragrafi, tabelle e così via.
TextBox NO No
RichTextBox Sì (vedere Panoramica di RichTextBox) Sì (vedere Panoramica di RichTextBox)

Annotazioni

Sebbene TextBox non supporti la formattazione dei comandi di modifica correlati, ad ToggleBold esempio (Ctr+B), molti comandi di base sono supportati da entrambi i controlli, MoveToLineEndad esempio . Per altre informazioni, vedere EditingCommands.

Le funzionalità supportate da TextBox sono illustrate nelle sezioni seguenti. Per ulteriori informazioni su RichTextBox, vedere Panoramica di RichTextBox.

Controllo ortografico in tempo reale

È possibile abilitare il controllo ortografico in tempo reale in un TextBox o RichTextBox. Quando il controllo ortografico è attivato, viene visualizzata una riga rossa sotto eventuali parole con errori di ortografia (vedere l'immagine seguente).

Casella di testo con controllo ortografico

Per informazioni su come abilitare il controllo ortografico, vedere Abilitare il controllo ortografico in un controllo di modifica del testo .

Menu di scelta rapida

Per impostazione predefinita, sia TextBox che RichTextBox hanno un menu di scelta rapida che viene visualizzato quando un utente fa clic con il pulsante destro del mouse all'interno del controllo. Il menu di scelta rapida consente all'utente di tagliare, copiare o incollare (vedere l'immagine seguente).

TextBox con menu di scelta rapida

È possibile creare un menu di scelta rapida personalizzato per ignorare il comportamento predefinito. Per ulteriori informazioni, vedere Usare un menu contestuale personalizzato con una TextBox.

Creazione di caselle di testo

Un TextBox può essere una singola riga in altezza o contenere più righe. Una singola riga TextBox è ideale per l'input di piccole quantità di testo normale (ad esempio "Nome", "Numero di telefono" e così via in un modulo). Nell'esempio seguente viene illustrato come creare una singola riga TextBox.

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

È anche possibile creare un oggetto TextBox che consente all'utente di immettere più righe di testo. Ad esempio, se il modulo ha richiesto uno schizzo biografico dell'utente, si desidera utilizzare un TextBox oggetto che supporti più righe di testo. L'esempio seguente illustra come usare Xaml (Extensible Application Markup Language) per definire un TextBox controllo che si espande automaticamente per contenere 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>

Se si imposta l'attributo TextWrapping su Wrap , il testo viene disposto su una nuova riga quando viene raggiunto il bordo del TextBox controllo, espandendo automaticamente il controllo in modo da includere spazio TextBox per una nuova riga, se necessario.

L'impostazione dell'attributo AcceptsReturn su true fa sì che una nuova riga venga inserita quando viene premuto il tasto RETURN, espandendo di nuovo automaticamente l'oggetto in modo da includere spazio TextBox per una nuova riga, se necessario.

L'attributo VerticalScrollBarVisibility aggiunge una barra di scorrimento all'TextBox, in modo che il contenuto del TextBox possa essere scorrevole se l'TextBox si espande oltre le dimensioni della cornice o della finestra che lo racchiude.

Per altre informazioni sulle diverse attività associate all'uso di TextBox, vedere Argomenti su come fare.

Rilevare quando il contenuto cambia

In genere, l'evento TextChanged dovrebbe essere utilizzato per rilevare quando il testo in un TextBox o RichTextBox viene modificato, piuttosto che KeyDown come ci si potrebbe aspettare. Per un esempio, vedere Rilevare quando il testo in un controllo TextBox è stato modificato .

Vedere anche