Compartilhar via


Visão geral da Caixa de Texto

A TextBox classe permite que você exiba ou edite texto não formatado. Um uso comum de um TextBox é editar texto não formatado em um formulário. Por exemplo, um formulário solicitando o nome do usuário, o número de telefone etc. usaria TextBox controles para entrada de texto. Este tópico apresenta a TextBox classe e fornece exemplos de como usá-la em XAML (Extensible Application Markup Language) e C#.

TextBox ou RichTextBox?

Ambos TextBox e RichTextBox permitem que os usuários insiram texto, mas os dois controles são usados para cenários diferentes. Um TextBox requer menos recursos do sistema do que um RichTextBox , portanto, é ideal quando apenas texto sem forma precisa ser editado (ou seja, uso em um formulário). Uma RichTextBox opção é melhor quando é necessário que o usuário edite texto formatado, imagens, tabelas ou outro conteúdo com suporte. Por exemplo, editar um documento, artigo ou blog que requer formatação, imagens etc. é melhor feito usando um RichTextBox. A tabela a seguir resume os principais recursos de TextBox e RichTextBox.

Controle Verificação ortográfica em tempo real Menu de contexto Comandos de formatação como ToggleBold (Ctr+B) FlowDocument conteúdo como imagens, parágrafos, tabelas etc.
TextBox Sim Sim Não Não.
RichTextBox Sim Sim Sim (confira a visão geral do RichTextBox) Sim (confira a visão geral do RichTextBox)

Observação

Embora não dê TextBox suporte à formatação de comandos de edição relacionados como ToggleBold (Ctr+B), muitos comandos básicos têm suporte em ambos os controles, como MoveToLineEnd. Consulte EditingCommands para obter mais informações.

Os recursos suportados por TextBox são abordados nas seções abaixo. Para obter mais informações sobre RichTextBox, consulte Visão geral do RichTextBox.

Verificação ortográfica em tempo real

Você pode habilitar a verificação ortográfica em tempo real em um TextBox ou RichTextBox. Quando a verificação ortográfica é ativada, uma linha vermelha aparece abaixo de qualquer palavra incorreta (veja a imagem abaixo).

Caixa de texto com verificação ortográfica

Consulte Habilitar Verificação Ortográfica em um Controle de Edição de Texto para saber como habilitar a verificação ortográfica.

Menu de contexto

Por padrão, tanto TextBox quanto RichTextBox possuem um menu de contexto que aparece quando o usuário clica com o botão direito do mouse dentro do controle. O menu de contexto permite que o usuário corte, copie ou cole (consulte a imagem abaixo).

TextBox com menu de contexto

Você pode criar seu próprio menu de contexto personalizado para substituir o comportamento padrão. Consulte Usar um menu de contexto personalizado com uma Caixa de Texto para obter mais informações.

Criando TextBoxes

Um TextBox pode ter a altura de uma única linha ou compreender várias linhas. Uma única linha TextBox é melhor para inserir pequenas quantidades de texto sem formatação (ou seja, "Nome", "Número de Telefone", etc. em um formulário). O exemplo a seguir mostra como criar uma única linha 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>

Você também pode criar um TextBox que permite que o usuário insira várias linhas de texto. Por exemplo, se o formulário solicitasse um esboço biográfico do usuário, você gostaria de usar um TextBox que dê suporte a várias linhas de texto. O exemplo a seguir mostra como usar XAML (Extensible Application Markup Language) para definir um TextBox controle que se expande automaticamente para acomodar várias linhas de texto.

<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>

Definir o atributo TextWrapping como Wrap faz com que o texto seja encapsulado em uma nova linha quando a borda do controle TextBox for atingida, expandindo automaticamente o controle TextBox para incluir espaço para uma nova linha, se necessário.

Definir o atributo AcceptsReturn para true faz com que uma nova linha seja inserida quando a tecla RETORNO é pressionada, expandindo automaticamente o TextBox para incluir espaço para uma nova linha, se necessário.

O atributo VerticalScrollBarVisibility adiciona uma barra de rolagem à TextBox, de modo que o conteúdo do TextBox possa ser rolado se o TextBox se expandir além do tamanho do quadro ou da janela que o contém.

Para obter mais informações sobre diferentes tarefas associadas ao uso de um TextBox, consulte Tópicos de instruções.

Detectar quando o conteúdo é alterado

Normalmente, o evento TextChanged deve ser usado para detectar sempre que o texto muda em TextBox ou RichTextBox, em vez de usar o KeyDown, como você poderia esperar. Veja Detectar quando o texto em uma Caixa de Texto foi alterado para obter um exemplo.

Consulte também