Utilisez MaxLength
EDIT:
Attendez, quoi? Vous souhaitez limiter le nombre de caractères à la largeur de la zone de texte? Pourquoi ça?
EDIT2:
Vous pouvez mesurer la longueur d'une chaîne en utilisant Graphics.MeasureString. Voici une méthode d'extension qui fait ce que vous voulez:
public static class TextBoxExtension
{
public static int VisibleCharCount(this textBox textBox)
{
int count = 0;
do {
count++;
var testString = new string('X', count);
var stringWidth = System.Drawing.Graphics.MeasureString(testString, textBox.Font);
} while (stringWidth < textBox.Width);
if (stringWidth == textBox.Width)
return count;
else
return count-1;
}
}
utiliser comme ceci:
myTextBox.MaxLength = myTextBox.VisibleCharCount();
EDIT3:
Si votre TexBox est multiligne et que vous voulez aussi prendre la hauteur en compte, vous pouvez utiliser la surcharge de MeasureString qui prend une taille. Je vous laisse le soin de modifier mon exemple en conséquence.
C'est des formes, et non WPF – Arcturus
Il est un modèle de report.user peut attirer TextBox. Restreindre est d'éviter les problèmes d'impression. – doull
@Arcturus: J'ai corrigé le lien. Cette propriété existe également pour le TextBox WPF. – VVS