Связь между длиной и размером шрифта строки и шириной текстового поля

StackOverflow https://stackoverflow.com/questions/1453327

Вопрос

У меня есть поле в базе данных, это поле имеет максимальную длину, и я хочу установить текстовое поле соответствующей ширины.Я создаю текстовые поля во время выполнения.Как я могу рассчитать значение свойства ширины?

Например, если у меня есть поле nvarchar(5) с именем IDClient, а размер шрифта равен 13, я хочу создать текстовое поле с шириной, достаточной для записи 5 символов.

Это было полезно?

Решение

Возможно, следует использовать TextRenderer.MeasureText(строка, шрифт).

Вот небольшой образец, который может вам помочь.

        //Get this value from somewhere...
        TextBox textBox = new TextBox();
        int maxWidth = 10;
        int extraSpace = 3;

        //Create sample string
        StringBuilder sb = new StringBuilder(maxWidth);
        sb.Append('w', maxWidth);

        //Measure text 
        Size size = TextRenderer.MeasureText(sb.ToString(), textBox.Font);

        //Set width of TextBox to needed width
        textBox.Width = size.Width + extraSpace;

Другие советы

Указать

тип ввода='текст' размер='5' ширина='w' ........>

Вы можете вычислить w=num_characters * k.Где k является постоянным.Сначала оставьте k = 15.А затем делайте пробы, пока не найдете лучший вариант.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top