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

时间:2009-09-21 07:57:49

标签: c# wpf textbox width font-size

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

例如,如果我有一个名为IDClient的字段nvarchar(5),并且font-Size为13,我想创建一个宽度足以写入5个字符的texbox。

2 个答案:

答案 0 :(得分:4)

也许应该使用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;

答案 1 :(得分:1)

指定

输入类型='文字'尺寸='5'宽度='w'........>

您可以计算w = num_characters * k。 其中k是常数。首先保持k = 15。 然后点击并试用,直到找到最合适的。