Partilhar via


Visão geral do TextBox

A classe TextBox 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 pedindo o nome do usuário, número de telefone, etc. usaria controles TextBox para entrada de texto. Este tópico apresenta a classe TextBox e fornece exemplos de como usá-la em Extensible Application Markup Language (XAML) e C#.

TextBox ou RichTextBox?

Tanto TextBox quanto 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 por isso é ideal quando apenas texto simples precisa ser editado (ou seja, uso em um formulário). Um RichTextBox é uma escolha melhor quando é necessário para o usuário editar texto formatado, imagens, tabelas ou outro conteúdo suportado. Por exemplo, a edição de um documento, artigo ou blog que requer formatação, imagens, etc. é melhor realizada usando um RichTextBox. A tabela abaixo resume as principais características do TextBox e do RichTextBox.

Controlo 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 (consulte Visão geral do RichTextBox) Sim (consulte Visão geral do RichTextBox)

Observação

Embora o TextBox não ofereça suporte a comandos de edição relacionados à formatação, como ToggleBold (Ctr+B), muitos comandos básicos são suportados por ambos os controles, como MoveToLineEnd. Consulte EditingCommands para obter mais informações.

Os recursos suportados pelo TextBox são abordados nas secções abaixo. Para obter mais informações sobre RichTextBox, consulte RichTextBox Overview.

Verificação ortográfica em tempo real

Você pode ativar a verificação ortográfica em tempo real em um TextBox ou RichTextBox. Quando a verificação ortográfica está ativada, aparece uma linha vermelha por baixo de quaisquer palavras com erros ortográficos (ver imagem abaixo).

Caixa de texto com verificação ortográfica

Consulte Ativar a 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, TextBox e RichTextBox têm um menu de contexto que aparece quando um usuário clica com o botão direito do mouse dentro do controle. O menu de contexto permite ao usuário cortar, copiar ou colar (veja 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 o uso de um Menu de Contexto Personalizado com uma Caixa de Texto para obter mais informações.

Criando caixas de texto

Uma TextBox pode ter uma única linha de altura ou ser composta por várias linhas. Uma única linha TextBox é melhor para inserir pequenas quantidades de texto simples (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 ao usuário inserir várias linhas de texto. Por exemplo, se o seu formulário pediu um esboço biográfico do usuário, você gostaria de usar um TextBox que suporta várias linhas de texto. O exemplo a seguir mostra como usar Extensible Application Markup Language (XAML) para definir um controle TextBox 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 quebrado em uma nova linha quando a borda do controle TextBox é atingida, expandindo automaticamente o controle TextBox para incluir espaço para uma nova linha, se necessário.

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

O atributo VerticalScrollBarVisibility adiciona uma barra de rolagem ao TextBox, para que o conteúdo do TextBox possa ser percorrido se o TextBox se expandir além do tamanho do quadro ou da janela que o encerra.

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

Detetar quando o conteúdo é alterado

Normalmente, o evento TextChanged deve ser usado para detetar sempre que o texto em um TextBox ou RichTextBox muda, em vez de KeyDown como você poderia esperar. Consulte Detetar quando o texto numa caixa de texto foi alterado para obter um exemplo.

Ver também