Cenni preliminari sulla classe TextBox

La TextBox classe consente di visualizzare o modificare testo non formattato. Un uso comune di un TextBox oggetto è 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#.

Differenza tra un controllo TextBox e un controllo 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, quindi RichTextBox è 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 Nr.
RichTextBox Sì (vedere Cenni preliminari sul controllo RichTextBox) Sì (vedere Cenni preliminari sul controllo RichTextBox)

Nota

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 altre informazioni su , vedere Cenni preliminari su RichTextBoxRichTextBox.

Controllo ortografico in tempo reale

È possibile abilitare il controllo ortografico in tempo reale in un TextBox oggetto o RichTextBox. Quando il controllo ortografico è attivato, viene visualizzata una riga rossa sotto le parole errate (vedere la figura seguente).

Textbox with spell-checking

Per informazioni su come abilitare il controllo ortografico, vedere Procedura: attivare 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 la figura seguente).

TextBox with context menu

È possibile creare un menu di scelta rapida personalizzato per ignorare il comportamento predefinito. Per altre informazioni, vedere Utilizzare un menu di scelta rapida personalizzato con un oggetto 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 "Name", "Telefono Number" e così via in un formato). 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 a TextBox, in modo che il contenuto di TextBox possa essere scorrevole se l'oggetto TextBox si espande oltre le dimensioni della cornice o della finestra che lo racchiude.

Per altre informazioni sulle diverse attività associate all'uso di , TextBoxvedere Procedure.

Rilevare le modifiche di contenuto

In genere, l'evento TextChanged deve essere usato per rilevare ogni volta che il testo in un TextBox oggetto o RichTextBox viene modificato, invece KeyDown come ci si potrebbe aspettare. Per un esempio, vedere Procedura: rilevare eventuali modifiche del testo in un oggetto TextBox.

Vedi anche