Compartilhar via


Visão geral sobre TextBox

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

Este tópico contém as seguintes seções.

  • TextBox ou RichTextBox?
  • Criando TextBoxes
  • Detectando quando o conteúdo for alterado
  • Tópicos relacionados

TextBox ou RichTextBox?

Tanto TextBox quanto RichTextBox permitem aos usuários entrar com texto, mas os dois controles são usados para cenários diferentes. Um TextBox requer menos recursos do sistema que um RichTextBox então é o ideal quando apenas texto sem-formatação precisa ser editado (isto é, uso em um formulário). Um RichTextBox é uma opção melhor quando for necessário que o usuário edite 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 os principais recursos de TextBox e RichTextBox.

Controle

Correção ortográfica em tempo real

Menus de contexto

Comandos de formatação como ToggleBold (CTR + B)

Conteúdo FlowDocument como imagens, parágrafos, tabelas etc..

TextBox

Sim

Sim

Não

Não.

RichTextBox

Sim

Sim

Sim (consulte Visão geral de RichTextBox)

Sim (consulte Visão geral de RichTextBox)

ObservaçãoObservação:

Embora TextBox oferece suporte ao comandos de formatação de edição relacionados, sistema autônomo ToggleBold (CTR + B), muitos comandos básicos são suportados pelo ambos sistema autônomo controles, sistema autônomo MoveToLineEnd. Consulte EditingCommands para obter mais informações. Além disso, consulte Exemplo de EditingCommands para uma demonstração do uso de comandos de edição com um TextBox.

Os recursos para os quais há suporte no TextBox serão abordados nas seções a seguir. Para obter mais informações sobre o RichTextBox, consulte Visão geral de RichTextBox.

Correção ortográfica em tempo real

Você pode habilitar correção ortográfica em tempo real em um TextBox ou um RichTextBox. Quando a correção ortográfica estiver ativada, uma linha vermelha aparecerá sob as palavras incorretas (veja a imagem abaixo).

Textbox com verificação ortográfica

Consulte Como: Enable Spell Checking in a Text Editing Control para saber como habilitar a correção ortográfica.

Por padrão, tanto TextBox quanto 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 que o usuário recorte, copie ou cole (veja na imagem abaixo).

TextBox com menu de contexto

Você pode criar seus próprios menus de contexto personalizados para substituir o comportamento padrão. Consulte Como: Use a Custom Context Menu with a TextBox para obter mais informações.

Criando TextBoxes

Um TextBox pode ter apenas uma linha de altura ou abranger várias linhas. Uma única linha TextBoxé melhor para inserção de pequenas quantidades de texto sem formatação (por exemplo " Nome","Telefone", etc.. em um formulário). O exemplo a seguir mostra como criar um TextBox de linha única.

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

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 solicita um esboço da biografia do usuário, seria desejável usar um TextBox que suporte 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>

A configuração do atributo TextWrapping como Wrap faz com que o texto passe para uma nova linha quando a borda do controle TextBox é alcançada, 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, outra vez automaticamente expandindo o TextBox para incluir espaço para uma nova linha, se necessário.

O atributo VerticalScrollBarVisibility adiciona um barra de rolagem para o TextBox, para que o conteúdo do TextBox possa ser rolado se o TextBox se expande além do tamanho do quadro ou da janela onde está incluso.

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

Detectando quando o conteúdo for alterado

Geralmente, o evento TextChanged deve ser usado para detectar sempre que o texto em um TextBox ou RichTextBox sofre alterações, em vez de KeyDown como se poderia esperar. Consulte Como: Detectar quando o texto em uma TextBox foi alterado para um exemplo.

Consulte também

Tarefas

Exemplo de EditingCommands

Edição de demonstração Examiner

Demonstração do Bloco de notas

Conceitos

Visão geral de RichTextBox

Outros recursos

Tópicos de Como Fazer para TextBox