Связь между длиной и размером шрифта строки и шириной текстового поля
Вопрос
У меня есть поле в базе данных, это поле имеет максимальную длину, и я хочу установить текстовое поле соответствующей ширины.Я создаю текстовые поля во время выполнения.Как я могу рассчитать значение свойства ширины?
Например, если у меня есть поле 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.А затем делайте пробы, пока не найдете лучший вариант.
Не связан с StackOverflow