代码之家  ›  专栏  ›  技术社区  ›  Jonathan

字符串的长度和字体大小与文本框宽度之间的关系

  •  0
  • Jonathan  · 技术社区  · 17 年前

    我在数据库中有一个字段,该字段有一个最大长度,我想将文本框设置为适当的宽度。我正在运行时创建文本框。如何计算宽度属性的值?

    2 回复  |  直到 17 年前
        1
  •  4
  •   Oliver    17 年前

    也许应该用 TextRenderer.MeasureText(string, font) .

    这里有一个可能对你有所帮助的小样本

            //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;
    
        2
  •  1
  •   Krishna Kant Sharma    17 年前

    输入类型class='text'size='5'width='w'…..>

    其中k是常数。首先保持k=15。 然后进行反复试验,直到找到最合适的。