C# - Redimensionando um TextBox


 Neste artigo veremos como redimensionar um TextBox a medida que o usuário digita
usando a linguagem C#.

Esse artigo é essencialmente prático e nele vou mostrar como ajustar o tamanho do TextBox ao texto digitado pelo usuário.

Recursos usados

Criando o projeto Windows Forms

Abra o VS 2017 Community e crie um novo projeto do tipo Windows Desktop usando o template Windows Forms App(.NET Framework). Estou usando o .NET Framework 4.7.

Informe o nome DimensionaTextBox e clique em OK;

No formulário Form1.cs inclua apenas uma Label e um TextBox chamado txtConteudo conforme o leiaute da figura abaixo:

No evento Load do formulário vamos registrar o evento TextChanged do controle TextBox e definir suas propriedades Multiline e ScrollBars.

A seguir vamos chamar o método AutoSizeTextBox() passando a instância do TextBox txtConteudo:

No evento TextChanged apenas chamamos novamente a cada alteração o método AutoSizeTextBox() :

O código do método AutoSizeTextBox() é visto a seguir:

Neste código definimos as margens x e y com valores iniciais; a seguir usamos classe TextRenderer que mede o texto especificado quando desenhado com a fonte especificada.

Usamos o método MeasureText() desta classe que fornece os métodos usados para medir e renderizar o texto, passando o texto e a fonte usada.

O método ClientSize permite configurar o tamanho da área do controle do cliente usando a largura com base no texto e na fonte e a altura adicionando as maragens definidas.

Executando o projeto iremos obter:

Pegue o projeto aqui :  DimensionaTextBox.zip

"Jesus respondeu: Na verdade, na verdade te digo que aquele que não nascer da água e do Espírito, não pode entrar no reino de Deus."
João 3:5

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira  

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?


  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter
 

Referências:


José Carlos Macoratti