Bueno, no especificaste en que lenguaje así que lo hice en visual basic, primero arrastras un textbox a tu form. y le agregas este código
Código:
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim Letras As Integer
Letras = TextBox1.TextLength
TextBox1.TextAlign = HorizontalAlignment.Center
If (TextBox1.TextLength > 10) Then
TextBox1.Size = New Size(Letras * 6, 20)
End If
End Sub
Que es lo que se hace, definimos una variable de tipo entero que se llama Letras, letras no será más que una variable que contará el número de carácteres del textbox. Después establecemos un alineación central y por último creamos una condicional que evaluara si textbox tiene una cantidad mayor a 10 carácteres en tonces el tamaño de nuestro textbox cambiara y se tendrán 6 pixeles por cada carácter que posea.