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).
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).
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
.NET Desktop feedback